2017-11-14 13 views
0

5分ごとにテキストを出力する簡単なbashスクリプトを作成します。 起動時にスクリプトが起動されます。スクリプトbashは常に稼働しています

#!/bin/bash 
while true ; do 
echo "You received a new mail" 
sleep 300 
done 

が、私はこの

nohup script.sh 

のようにnohupを使用しようとしたが、出力はnohup.outにリダイレクトされ、私はそれを望んでいないし、プロセスをバックグラウンドで実行されていない、それは私まで働いていますCTRL + C

を残し

答えて

3

あなたは簡単に実行することで、あなたが欲しいしかしstdout/stderrをリダイレクトすることができます

nohup script.sh > someotherfile. 

nohupのポイントは、シェルが終了しても実行を続けますが、すぐにバックグラウンドに送信されるわけではありません。あなたがそれをしたい場合:

nohup script.sh > someotherfile & 

あなたはbg作品が続く&通常ctrl-zを忘れてしまった場合。 いずれにしても、シェル/ターミナルを閉じると、実行され続けます。簡単なチュートリアルはhttp://linux.101hacks.com/unix/nohup-command/です。

他のオプションを参照する場合は、setsidと、crontabをチェックしてください。最後のものは、いつ実行し、自動起動するかという面でもう少し柔軟性があります。ここでは最初の良いの参照です:

https://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job#2369

+0

私はcrontabのはもっと私が欲しいものに適合していると思います。 タスクをコマンドラインでどのように実現できますか? crontabには除算部分があるので – Michael003

+1

定義を除いて相互作用はありません、google 'crontab'ではたくさんのチュートリアルが見つかります。それをキックするには、 'crontab -e'を打ちます。これは' cron'ファイルを開き、あなたのタスクを追加することができます(これは永続的です)。また、始めるための説明もあります。基本的には時間の仕様とコマンドを与え、cronが始まります! – kabanus

関連する問題