アプリケーションを起動し、遅延後に閉じますか?

アプリケーションを起動し、遅延後に閉じますか?

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 秒後に取得してxcalcsleepのプロセスを強制終了しますxcalc

関連情報