私はループで4分ごとにプログラムを閉じて再起動したいと思います(直接閉じることを決めるまで)。
私はこのコードを試しました
#!/bin/bash
for (( ; ; ))
do
amule
sleep 240;
wmctrl -c aMule;
done
ただし、機能しません(終了時に確認を無効にした後でも)。
編集
1)私意味はスクリプトは240秒後にamuleを閉じて(申し訳ありませんが、180はバグです)、もう一度開く必要があります(すぐに)。そして240秒後に閉じて再び開きましたね。
2) はい名前そうですね。 konsoleで/(wmctrl -c aMule;)行を実行しようとすると機能します。
編集私はこれを試しました。 1) 新しいスクリプトを作成します。
wmctrl -c aMule
sleep 10
amule
2)crontabにスクリプトを追加(6分ごとに実行)
ただし、「wmctrl -c aMule」コマンドは端末での作業はスクリプト(たとえば、このような)には影響しません。
なぜか理解できません...
答え1
amule
フロントデスクで働いてください。あなたのスクリプトは決して到着しませんsleep 240
。amule
スクリプトを続行できるようにバックグラウンドで実行します。
#!/bin/sh
while :; do
amule & # run in background
sleep 240
killall amule
# or wmctrl -c aMule
wait # in case amule needs time to close
done
答え2
watch -n 240 'amule;wmctrl -c aMule'
答え3
インストールした項目に応じて、またはwmctrl -c aMule;
に交換することができます。 amuleがTERM信号を無視する場合は、以前にこのオプションを追加する必要があるかもしれません。killlall amule
pkill amule
killall
pkill
-KILL
amule