LINUXデーモン
1728 ワード
デーモンプロセス(deamon)は、バックグラウンドで実行されているプロセス(daemon)です.
フロントタスク(foreground job)
バックグラウンドタスク(background job)
linuxバックグラウンドタスクの開始
起動するプログラムの後ろに&を付けると、起動するプログラムが「バックグラウンドタスク」になります.
バックグラウンドタスクの特徴
1.現在のセッションの標準出力(stdout)と標準エラー(stderr)を継承するため、バックグラウンドタスクのすべての出力は同期してコマンドの下に表示されます.
2.現在のセッションの標準入力を継承していません(stdin).このタスクに命令を入力できません.ビューが標準入力を読み出すと、実行が一時停止します(halt)
SIGHUP信号
通常フロントプログラム終了
shellのhuponexitパラメータを表示できます
shopt |grep huponexit
デフォルトはoffオフなのでセッション終了時にSIGHUP信号をバックグラウンドタスクに送信しないので、一般的にバックグラウンドタスクはセッションとともに終了しません.
disownコマンド
システムのhuponexitパラメータが開いているonであればdisownというコマンドを使用して、バックグラウンドタスクリスト(jobsコマンドの戻り結果)からバックグラウンドタスクを1つ削除することができます.このリストにない限り、sessionはSIGHUP信号を送信しません.
実行後elk.pyプロセスはバックグラウンドタスクリストから削除され、jobs出力結果にはこのプロセスはありません.
標準I/O
disownコマンドを使用してセッションを終了バックグラウンドプロセスがテーブル準I/Oとインタラクティブである場合は停止します
参考学習:
http://www.ruanyifeng.com/blog/2016/02/linux-daemon.html
フロントタスク(foreground job)
バックグラウンドタスク(background job)
fg
bg , ( )
ctrl+z , ,
linuxバックグラウンドタスクの開始
起動するプログラムの後ろに&を付けると、起動するプログラムが「バックグラウンドタスク」になります.
python elk.py &
バックグラウンドタスクの特徴
1.現在のセッションの標準出力(stdout)と標準エラー(stderr)を継承するため、バックグラウンドタスクのすべての出力は同期してコマンドの下に表示されます.
2.現在のセッションの標準入力を継承していません(stdin).このタスクに命令を入力できません.ビューが標準入力を読み出すと、実行が一時停止します(halt)
SIGHUP信号
通常フロントプログラム終了
1. session
2. session SIGHUP
3.session SIGHUP
4. SIGHUP ,
shellのhuponexitパラメータを表示できます
shopt |grep huponexit
デフォルトはoffオフなのでセッション終了時にSIGHUP信号をバックグラウンドタスクに送信しないので、一般的にバックグラウンドタスクはセッションとともに終了しません.
disownコマンド
システムのhuponexitパラメータが開いているonであればdisownというコマンドを使用して、バックグラウンドタスクリスト(jobsコマンドの戻り結果)からバックグラウンドタスクを1つ削除することができます.このリストにない限り、sessionはSIGHUP信号を送信しません.
実行後elk.pyプロセスはバックグラウンドタスクリストから削除され、jobs出力結果にはこのプロセスはありません.
python elk.py &
disown
disown
disown //
disown -r//
disown -a //
disown -h // , SIGHUP
// jobId,
disown %2
disown -h %2
標準I/O
disownコマンドを使用してセッションを終了バックグラウンドプロセスがテーブル準I/Oとインタラクティブである場合は停止します
nohup
nohup python elk.py &
nohup
1. SIGHUP
2. , ,
3. nohup.out
session
参考学習:
http://www.ruanyifeng.com/blog/2016/02/linux-daemon.html