シェルスクリプトでプロセスを終了できません

シェルスクリプトでプロセスを終了できません

このスクリプトがあります。

#!/bin/sh

cd ~/.devilspie && devilspie Minimize.ds
pkill devilspie

exit 0

最初のコマンドは完全に実行されますが、プロセスを終了する必要がある2行目では終了しません。端末でコマンドを実行すると、期待どおりに実行されますが、スクリプト内では実行されません。スクリプトに問題がありますか?

答え1

devilspieバックグラウンドで実行する必要があります。そうしないと、他の方法で終了するpkillまでスクリプトはその行に到達しません。devilspie

devilspieコマンドの最後に以下を追加してバックグラウンドで開始できます。&

cd ~/.devilspie && devilspie Minimize.ds &

答え2

次のコマンドを使用できます。

pkill -9 devilspie 
or 
pgrep devilspie | xargs kill -9 
or
killall devilspie

関連情報