###前提・実現したいこと
②を実行した後すぐに、プロセス(parent.sh)を終了させる方法についてご教授ください。
①下記のシェルスクリプト(parent.sh)を実行 ②外部からkillコマンドでparent.shのプロセスを終了
下記のソースコードの場合、
「sleep 100」が終了してからでないとtrapコマンド(break)が実行されないため
しばらくの間プロセス(parent.sh)が生存したままになります。
理想としては②を実行した後すぐに、「ps -ef | grep repeat.sh | grep -v grep」を実行しても
プロセスが検知できないことです。
###該当のソースコード(parent.sh)
#!/bin/sh loop () { while : do 子シェル & trap break 15 sleep 100 done echo killを補足 } loop &
###プロセス終了
kill `ps -ef | grep test.sh | grep -v grep | awk '{print $2}'`
###試したこと
trap の位置を下記のように変更して実行してみました。
trapコマンド(シグナルの捕捉)が実行できていないみたいでした。
子シェル & sleep 100 trap break 15
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。