![アプリケーションを起動し、遅延後に閉じますか?](https://rvso.com/image/97222/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%97%E3%80%81%E9%81%85%E5%BB%B6%E5%BE%8C%E3%81%AB%E9%96%89%E3%81%98%E3%81%BE%E3%81%99%E3%81%8B%3F.png)
LinuxMint で簡単なスクリプトを実行して、アプリケーション sqlitebrowser を開き、5 秒間開いたままにして閉じるか、強制終了しようとしていますが、これを試しましたが、閉じません。
#!/bin/bash
set +e
sqlitebrowser /home/r/base.db -t users
set -e
sleep 5
sqlitebrowser -q
exit
kill sqlitebrowser
、、 exitでも試しましたkillall sqlitebrowser
が、機能しません。ID で試しましたkill $9011
。多くのスレッドを参照しましたが、これまでのところ解決策は見つかりませんでした。
答え1
私の場合は、次のようなものが効果的です:
#!/bin/bash
xcalc &
processId=$! # get process id of xcalc
sleep 5
kill $processId
ここでは、 を起動しxcalc
てフォークし&
、 のプロセス ID を 5 秒後に取得してxcalc
、sleep
のプロセスを強制終了しますxcalc
。