init.d
サーバー上で実行される複数のサービスを制御するためにスクリプトを直接作成しようとしていますLinux
。私は次の内容をオンラインで見ました。
nohup $EXEC_SCRIPT 0<&- &> $LOG_FILE & echo $! > $PID_FILE
私が理解している制限では:
nohup
キャプチャhangup
信号$EXEC_SCRIPT
実行するコマンドを含む変数です。0<&- &>
以前これは起こりませんでした。$LOG_FILE
$EXEC_SCRIPT
ログファイルパスに似ていますが、インクルード&
$LOG_FILE
バックグラウンドでログインを開始しますか?$!
最後のバックグラウンドコマンドのPID。>
$!
結果の書き込み$PID_FILE
この知識を使用して問題を解決することができますが、0<&- &>
完全にパニックになります。私は、もともとは、少なくとも部分的に理解していないコンテンツを含めるのが好きではありません。
ベストアンサー1
リダイレクトです。
0<&-
ファイル記述子0(標準入力)を閉じます。&>
stdoutおよびstderrリダイレクト(この場合はログファイルとして)
echo
確かに以前はそんなことがなかったんですか$!
?$!
コマンドとして解釈され、次のような結果が発生する可能性が高くなります。
-bash: 18552: command not found