- 締切済み
killコマンド実行時のメッセージを出力させないためには?
あるシェルスクリプトを実行させているところに、killコマンドを送り込むと、コンソールに「終了しました」と表示されてしまうのですが、これを表示させないようにすることはできますか??? kill 100 > 2>&1 > aaa.txtなどとしてもファイルに書き込まれないので、標準出力でも標準エラー出力でもないのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10358)
回答No.2
そのメッセージはkillコマンドが出しているのではなくて、killされたコマンドを起動したシェルが出しています。従って、出さないためには、 bash -c 'yourscript & echo $!' 2>/dev/null のように起動すると良いでしょう。
- saaya_holic
- ベストアンサー率23% (46/195)
回答No.1
bashで kill 100 を実行する場合について書きます。 標準エラー出力と標準出力をともにaaa.txtに書き込むなら kill 100 > aaa.txt 2>&1 (2が標準エラー出力、1が標準出力) です。 エラーメッセージを(どこにも残さずに)表示させないには kill 100 2>/dev/null が一般的です。 nullは入力をどこにも出力も保存もしないキャラクタ型特殊ファイルです。
質問者
お礼
長い間放置してしまい、申し訳ありません。 また同じところで引っかかったので質問出そうとしたら、前に質問出したままにしてました(汗。。。 上記、やってみたのですが、だめでした。標準出力でも標準エラー出力でもないなんて、想定外(←今となっては古い流行語だあ)です。
お礼
長い間放置しておいてすみません。 これやってみましたが、だめでした。 しかし、いろいろ変えてみたら、以下でうまくいきました。 bash -c 'yourscript & echo $!' /dev/null 2>&1 しかし、どうして bash -c 'yourscript & echo $!' 1>/dev/null bash -c 'yourscript & echo $!' 2>/dev/null だとどちらも出力されてしまうのに、♪なんでだろう~(←ちと古いか。。。)