unix下 nohup 命令使用方法(轉)

paulyibinyi發表於2008-10-03
 
 
 

nohup 命令

用途

不結束通話地執行命令。

語法

nohup { pid | Command [ Arg ... ] [ & ] }

描述

nohup 命令執行由 Command 引數和任何相關的 Arg 引數指定的命令,同時忽略所有的掛起(SIGHUP)訊號,或者修改用 -p 選項指定的程式來忽略所有的掛起(SIGHUP)訊號。

在登出後還可以使用 nohup 命令執行後臺中的程式。要執行後臺中的 nohup 命令,新增 &(表示“and”的符號)到命令的尾部。

注:
不能同時指定 -p pid 和 Command。

使用 -p pid 時,指定程式的輸出將不會重定向到 nohup.out

標誌

-p pid pid 是正在執行的程式的程式標識。nohup 命令修改指定程式來忽略所有的掛起(SIGHUP)訊號。

退出狀態

該命令返回下列出口值:

126 可以查詢但不能呼叫 Command 引數指定的命令。
127 nohup 命令發生錯誤或不能查詢由 Command 引數指定的命令。

否則,nohup 命令的退出狀態是 Command 引數指定命令的退出狀態。

示例

  1. 要在登出後在後臺中執行命令,請輸入:

    $ nohup find / -print &

    輸入該命令後,顯示如下:

    670
    $ Sending output to nohup.out

    程式 ID 號更改為 &(表示“and”的符號)啟動的後臺程式的 ID 號。訊息 輸出傳送到 nohup.out 通知您來自 find / -print 命令的輸出在 nohup.out 檔案中。檢視這些訊息後可以登出,即使 find 命令仍在執行。

  2. 要在後臺中執行命令並將標準輸出重定向到其他檔案,請輸入:

    $ nohup find / -print >filenames &

    本例執行 find / -print 命令並且將輸出儲存到命名為 filenames 的檔案中。現在只顯示程式 ID 和提示:

    677
    $

    因為 nohup 命令需要片刻時間來啟動 Command 引數指定的命令,在登出前請等待。如果太快登出,Command 引數指定的命令可能根本沒執行。一旦 Command 引數指定的命令啟動,登出就不會對其產生影響。

  3. 要執行多條命令,則使用 shell 過程。例如,如果寫 shell 過程:

    neqn math1 | nroff > fmath1

    且命名它為 nnfmath1 檔案,那麼可以為 nnfmath1 檔案中所有命令執行 nohup 命令,命令為:

    nohup sh nnfmath1
  4. 如果您將執行許可權分配到 nnfmath1 檔案,發出此命令會得到相同的結果:

    nohup nnfmath1
  5. 要在後臺中執行 nnfmath1 檔案,請輸入:
    nohup nnfmath1   &
  6. 要在 Korn shell 程式中執行 nnfmath1 檔案,請輸入:

    nohup ksh nnfmath1
  7. 要使執行的程式忽略所有掛起訊號,請輸入:
    nohup -p 161792

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-466425/,如需轉載,請註明出處,否則將追究法律責任。

相關文章