killコマンドでメッセージを出力させない方法
killコマンドでメッセージを出力させない方法を紹介します。
1.問題点
次のサンプルスクリプト(foo.sh,bar.sh)を用意します。
foo.sh
#!/bin/bash
bar.sh &
pid=$!
kill $pid >/dev/null 2>&1
sleep 1
bar.sh
#!/bin/bash
while [ 1 ]
do
sleep 1
done
foo.shを実行するとbar.shのkillコマンドでメッセージが表示されます。
実行結果
# ./foo.sh
./foo.sh: 7 行: 59318 Terminated bar.sh
メッセージを表示させないようにしたいのですが方法が分かりません。
2.対処
foo.shにwaitコマンドを追加します。
foo.sh
#!/bin/bash
bar.sh &
pid=$!
kill $pid
wait $pid 2>/dev/null
sleep 1
実行結果
# ./foo.sh
Posted by yujiro このページの先頭に戻る
- VMをundefineできない場合の対処
- cpanflute2でエラーになる場合の対処
- シェルスクリプトをバイナリ化する「shc」
- OpenSSLで文字列を暗号化・複号化する方法
- sshログインに時間がかかる場合の対処
- vi/vimで範囲指定して置換する方法
- vi/vimでマークした行に移動する方法
- vi/vimで複数行を一括削除する方法
- LinuxでOSキャッシュをクリアする方法
- lessで検索文字列だけを表示する方法
- tailコマンドでファイルがローテートされても追従する方法
- svnでファイルやディレクトリを削除する方法
- phpMyAdminで「unknown system variable 'lc_messages'」となる場合の対処
- Linux(CentOS)でapxsがみつからない場合の対処
- PHP7.3とApacheを連携させる方法
トラックバックURL
コメントする
greeting