2012-02-23 3 views
-3

sshコマンドを実行してサーバにログインした場合、自分で実行できるので、system()を呼び出す必要がありますか?システムに既にアクセスしている場合、system()関数の目的は何ですか?

編集:私はC

で書かれるでしょうしているコード
+8

これは "私が自分で計算することができるため、+演算子に何らかの理由がありますか?"という質問に少し似ています。 –

+0

ああ。私は、システム機能を呼び出すことが他の何かをしたかどうか分からなかった。 – Jrom

+1

あなたは何を求めているのか分かりませんが、何が問題なのか、 'system'はほとんど間違った答えです。 –

答えて

1

システムコールは、あなたがしたい(パラメータで)プログラムを実行します。 system()呼び出しはシェルを呼び出します。したがって、Cプログラムの内部からファイルを削除する場合は、"rm filename"を引数としてシステムを呼び出すことができます(これは単なる使用例です)。 Youあなたが何をしているのか分かっているときだけ、system()を使うべきです。ユーザの入力がシステムコールの引数の一部である場合は、自分自身を開いてコマンド注入を開始しないように入力を徹底的に確認する必要があります。

システムコールでコマンド注射の例では、システムへhere

選択肢がpopenの、明らかフォーク+幹部であるです。

関連する問題