• ベストアンサー

UNIX(Linuxでも)のkillコマンドで、終了メッセージを抑止し

UNIX(Linuxでも)のkillコマンドで、終了メッセージを抑止したい。 例えば、シェルの中で以下のようなコマンドがある場合に、 「○○が終了しました」とメッセージが出力されてしまいます。 抑止方法があれば教えてください。 kill xxx > /dev/null 2>&1 ※xxxはプロセスID よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

>回答くれた内容をシェルで行いたいのですが、プロセスIDを取得できません。 >ファイルにプロセスIDを出力して取得するか、psで探すしかないですか? 質問は具体的にどうぞ。 PID=`sh -c 'sleep 1000 & echo $!'` kill $PID みたいなことを聞きたいのかな?

ktaki
質問者

補足

聞きたいことは、その通りでした。 ありがとうございました。

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

そのメッセージは、killコマンドが出している訳じゃなくて、killされたコマンドを起動したシェルが出します。 $ sleep 1000 & [1] 12345 $ kill 12345 [1]+ Terminated: 15 sleep 1000 $ sh -c 'sleep 1000 & echo $!' 12355 $ kill 12345 (sleepを起動したshはすでに終了しているので何も出ない)

ktaki
質問者

補足

返事が遅くなりすみません。回答ありがとうございます。 回答くれた内容をシェルで行いたいのですが、プロセスIDを取得できません。 ファイルにプロセスIDを出力して取得するか、psで探すしかないですか? すみませんがよろしくお願いします。

回答No.1

例として、プロセスID xxx が、example.sh という実行ファイルだったとすると # example.sh 2>&1 > /dev/null で実行し # kill xxx で停止させればメッセージは表示されません。

ktaki
質問者

補足

返事が遅くなりすみません。回答ありがとうございます。 回答の内容ではできませんでした。

関連するQ&A