您好,現在漢漢來為大家解答以上的問題。nohup命令詳解,nohup命令的用法相信很多小伙伴還不知道,現在讓我們一起來看看吧!
1、nohup命令的用法在應用Unix/linux時,我們一般想讓某個程序在后臺運行,于是我們將常會用 & 在程序結尾來讓程序自動運行。
2、比如我們要運行mysql在后臺: /usr/local/mysql/bin/mysqld_safe –user=mysql &。
3、可是有很多程序并不想mysqld一樣,這樣我們就需要nohup命令,怎樣使用nohup命令呢?這里講解nohup命令的一些用法。
4、nohup /root/***.sh &在shell中回車后提示:[~]$ appending output to nohup.out原程序的的標準輸出被自動改向到當前目錄下的nohup.out文件,起到了log的作用。
5、但是有時候在這一步會有問題,當把終端關閉后,進程會自動被關閉,察看nohup.out可以看到在關閉終端瞬間服務自動關閉。
6、咨詢紅旗linux工程師后,他也不得其解,在我的終端上執行后,他啟動的進程竟然在關閉終端后依然運行。
7、在第二遍給我演示時,我才發現我和他操作終端時的一個細節不同:他是在當shell中提示了nohup成功后還需要按終端上鍵盤任意鍵退回到shell輸入命令窗口,然后通過在shell中輸入exit來退出終端;而我是每次在nohup執行成功后直接點關閉程序按鈕關閉終端.。
8、所以這時候會斷掉該命令所對應的session,導致nohup對應的進程被通知需要一起shutdown。
9、這個細節有人和我一樣沒注意到,所以在這兒記錄一下了。
10、附:nohup命令參考nohup 命令用途:不掛斷地運行命令。
11、語法:nohup Command [ Arg ] [ & ]描述:nohup 命令運行由 Command 參數和任何相關的 Arg 參數指定的命令,忽略所有掛斷(SIGHUP)信號。
12、在注銷后使用 nohup 命令運行后臺中的程序。
13、要運行后臺中的 nohup 命令,添加 & ( 表示and的符號)到命令的尾部。
14、無論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 文件中。
15、如果當前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。
16、如果沒有文件能創建或打開以用于追加,那么 Command 參數指定的命令不可調用。
17、如果標準錯誤是一個終端,那么把指定的命令寫給標準錯誤的所有輸出作為標準輸出重定向到相同的文件描述符。
18、退出狀態:該命令返回下列出口值:126 可以查找但不能調用 Command 參數指定的命令。
19、127 nohup 命令發生錯誤或不能查找由 Command 參數指定的命令。
20、否則,nohup 命令的退出狀態是 Command 參數指定命令的退出狀態。
21、nohup命令及其輸出文件nohup命令:如果你正在運行一個進程,而且你覺得在退出帳戶時該進程還不會結束,那么可以使用nohup命令。
22、該命令可以在你退出帳戶/關閉終端之后繼續運行相應的進程。
23、nohup就是不掛起的意思( n ohang up)。
24、該命令的一般形式為:nohup command &使用nohup命令提交作業如果使用nohup命令提交作業,那么在缺省情況下該作業的所有輸出都被重定向到一個名為nohup.out的文件中,除非另外指定了輸出文件:nohup command > myout.file 2>&1 &在上面的例子中,輸出被重定向到myout.file文件中。
本文就為大家分享到這里,希望小伙伴們會喜歡。