nohup
(no hang-up)命令是 Linux 系統中用于在后臺運行程序的實用工具,它可以防止進程因終端關閉而中斷。當你使用 nohup
命令運行一個程序時,即使關閉終端或者斷開與服務器的連接,程序也會繼續運行。這對于長時間運行的任務或者需要在后臺執行的任務非常有用。
nohup
的工作原理是通過忽略掛起(SIGHUP)信號來實現。當終端關閉時,通常會向與之關聯的進程發送 SIGHUP 信號,導致進程終止。nohup
通過忽略這個信號,使得進程在終端關閉后仍然繼續運行。
使用 nohup
的基本語法如下:
nohup command-to-run &
其中,command-to-run
是要執行的命令,&
表示將命令放入后臺運行。
例如,如果你想在后臺運行一個名為 my_script.sh
的腳本,可以使用以下命令:
nohup ./my_script.sh &
運行此命令后,nohup
會創建一個名為 nohup.out
的文件,用于存儲程序的輸出。如果你想將輸出重定向到其他文件,可以使用以下命令:
nohup ./my_script.sh > output.log &
這樣,程序的輸出將被寫入 output.log
文件,而不是 nohup.out
。
總之,nohup
命令通過忽略掛起信號,使得 Linux 進程在終端關閉后仍然繼續運行,從而幫助避免因終端關閉而導致的進程中斷。