このスクリプトがあります。
#!/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