長時間実行するコマンドを起動してからn分後にkillするbash/linuxコマンドはありますか?フォークを使ってperlで何かをハックアップしてkillすることはできますが、誰かが既にそこにあるものを知っていますか?bash:n分のコマンドを実行してからSIGHUPを実行
答えて
ほとんどのGNU/Linuxディストリビューションではtimeoutコマンドを参照してください。
timeout -sHUP 10m command
これは、バックグラウンドでコマンドを開始し、$ PにPIDを格納し、しばらく待ってからSIGHUP
で終了します。
yourCommand & PID=$!
sleep ${someMinutes}m
kill -HUP $PID
乾杯
PS:他に、ナノメートル(分)を知っている睡眠を前提とし、あなたには、いくつかの数学をしたいかもしれません:)
+1と '睡眠$((分* 60))' :) – khachik
khachikで達成することができる、それが教育を受けた読者の練習だった;) –
ありがとう!これは本質的に私が書いたperlですが、それをちょうどシェルのイディオムと見ることはいいです。私はまだ誰かがそれを認識している場合、事前に作成されたスクリプトが好きですが、私はこれを答えとして受け入れます。 –
n=5
some_command &
pid=$!
at now + $n minutes <<<"kill -HUP $pid"
オーバーat
を使用する利点sleep
を待つことはあなたのスクリプトが睡眠が切れるのを待つことをブロックしないということです。あなたは行って他のことをすることができ、at
は指定された時刻に非同期に起動します。あなたのスクリプトに応じて、それは非常に重要な機能かもしれません。
私は非同期機能に対してこの+1を与えましたが、ブロックは私が気にしていたものです。 –
- 1. コマンドをビルドしてバッチファイルから実行
- 2. サーバ上でPythonを実行し、コンピュータからコマンドを実行
- 3. Echoコマンドを実行してから実行しますか? (makeのように)
- 4. os.system()コマンドを実行して、Linuxシェルを実行しますか?
- 5. SymfonyコマンドからLinuxコマンドを実行
- 6. sshを実行してコマンドを実行します。
- 7. MACのVBAからJavaコマンドを実行
- 8. シェルスクリプト:シェルスクリプトでexitコマンドを実行した後でコマンドを実行
- 9. 端末から実行したときにEclipseから実行したときの実行時execコマンド
- 10. sshを実行してコマンドを実行するbashスクリプト
- 11. コマンド実行後にカスタムコードを実行
- 12. Pythonから順番にコマンドを実行
- 13. バッチファイルからCygwinコマンドを実行する
- 14. PowerShellからLinuxコマンドを実行
- 15. スカラスクリプトからunixコマンドを実行する
- 16. Unity3DからAndroidでコマンドを実行
- 17. ブラウザ(Google Chrome)からEC2コマンドを実行
- 18. スラックからbashコマンドを実行する
- 19. symfonyプロセス - サービスからコマンドを実行
- 20. PythonからPowershellコマンドを実行
- 21. Railsからローカルマシン上でコマンドを実行
- 22. nodejsからbashコマンドを実行する
- 23. Pythonからlinuxコマンドを実行する
- 24. PHPからLinuxコマンドを実行
- 25. コマンドラインからRコマンドを実行
- 26. Javaプログラムからコマンドを実行する
- 27. Cプログラムからpiコマンドを実行
- 28. WindowsバッチスクリプトからDB2コマンドを実行
- 29. Rubyからcmdでコマンドを実行
- 30. Yii2 Basic:コントローラーアクションからコマンドを実行
これはまさに私が探していたものです! –