単一コマンドで子プロセスと親プロセスを終了する

単一コマンドで子プロセスと親プロセスを終了する

私はFedora 14を使ってインターネットに接続しています。sudo wvdial端末は引き続き機能する必要があります。私の要件はyum update別の端末で実行し、wvdialとその親端末を終了しinit 0ますsu -c

sudo wvdial次のように、1つのコマンドで子プロセス(ここではwvdialを実行している端末)と親プロセス(ここではwvdialを実行している端末)の両方を終了する方法はありますか?

su -c 'yum update; kill-child-parent-processes; init 0'

以下は、kill-child-parent-processes終了できるメソッドsudo wvdialとその親端末を示しています。

ありがとうございます。

ベストアンサー1

sid端末で実行されているシェルのセッションID()を調べる必要があります。

jinx:802 Z$ ps -p$$ -o sid
 SESS
17424

(賢明な警告: 通常これはと同じです$$。異なる場合は、おそらく動作しません。 )これを使用して、端末で実行されているセッションを終了できます。この方法で端末を直接終了することはできませんが(ウィンドウマネージャセッションにある)、端末が自動的に閉じるように設定されている場合(通常はそうです)、それ自体が消えます。

jinx:803 Z$ pkill -s 17424

おすすめ記事