當前位置:首頁 » 操作系統 » nohuplinux

nohuplinux

發布時間: 2022-04-30 22:14:23

『壹』 linux 中nohup命令是干什麼的

當你想執行任務計劃,退出登錄而不打斷時。
nohup command &

任務計劃還有at 和cron 自己查查吧

『貳』 linux運行nohup,沒有這個命令怎麼辦

在應用Unix/Linux時,我們一般想讓某個程序在後台運行,於是我們將常會
用 & 在程序結尾來讓程序自動運行。比如我們要運行mysql在後台: /usr/local/mysql/bin/mysqld_safe
–user=mysql
&。可是有很多程序並不想mysqld一樣,這樣我們就需要nohup命令,怎樣使用nohup命令呢?這里講解nohup命令的一些用法。
nohup /root/start.sh &
在shell中回車後提示:
[~]$ appending output to nohup.out
原程序的的標准輸出被自動改向到當前目錄下的nohup.out文件,起到了log的作用。
但是有時候在這一步會有問題,當把終端關閉後,進程會自動被關閉,察看nohup.out可以看到在關閉終端瞬間服務自動關閉。

『叄』 linux命令nohup和screen命令的區別

nohup讓程序在後台繼續運行
常用命令:nohup ./test.sh & 【如果運行成功則默認會將標准輸出重定向到當前目錄的nohup.out文件中,當然可以自己重定向輸出信息】
當需要將nohup後台運行的程序調到前台時,先jobs命令查看後台job編號,用 fg %n命令可以調回到前台運行(n是job的編號)。
PS:單獨的&時可以讓命令後台運行的,知識如果ssh會話斷掉,&的命令也會自動退出。

screen讓程序後台執行--一個強大的工具
簡 單來說,Screen是一個可以在多個進程之間多路復用一個物理終端的窗口管理器。Screen中有會話的概念,用戶可以在一個screen會話中創建多 個screen窗口,在每一個screen窗口中就像操作一個真實的telnet/SSH連接窗口那樣。

『肆』 linux 怎麼查看nohup進程

在linux操作系統中從後台一直運行某個程序的方法,就是使用nohup命令了。

Unix/Linux下一般比如想讓某個程序在後台運行,很多都是使用 & 在程序結尾來讓程序自動運行。

比如要運行mysql在後台:

復制代碼
代碼如下:

/usr/local/mysql/bin/mysqld_safe
–user=mysql &

但是加入很多程序並不象mysqld一樣做成守護進程,可能程序只是普通程序而已,一般這種程序使用 &
結尾,但是如果終端關閉,那麼程序也會被關閉。
為了能夠後台運行,可以使用nohup這個命令,比如有個test.php需要在後台運行,並且希望在後台能夠定期運行,那麼就使用nohup:

復制代碼
代碼如下:

nohup /root/test.php &

在shell中回車後提示:

[~]$ appending output to nohup.out

原程序的的標准輸出被自動改向到當前目錄下的nohup.out文件,起到了log的作用。

但是有時候在這一步會有問題,當把終端關閉後,進程會自動被關閉,查看nohup.out可

以看到在關閉終端瞬間服務自動關閉。

咨詢紅旗Linux工程師後,他也不得其解,在我的終端上執行後,他啟動的進程竟然在關閉終端後依然運行。在第二遍給我演示時,我才發現我和他操作終端時的一個細節不同:他是在當shell中提示了nohup成功後還需要按終端上鍵盤任意鍵退回到shell輸入命令窗口,然後通過在shell中輸入exit來退出終端;而我是每次在nohup執行成功後直接點關閉程序按鈕關閉終端.。所以這時候會斷掉該命令所對應的session,導致nohup對應的進程被通知需要一起shutdown。這個細節有人和我一樣沒注意到,所以在這兒記錄一下了。

附:nohup命令參考

nohup 命令

用途:不掛斷地運行命令。

語法:nohup Command [ Arg … ] [& ]

描述:nohup 命令運行由 Command 參數和任何相關的 Arg 參數指定的命令,忽略所有掛斷(SIGHUP)信號。在注銷後使用 nohup
命令運行後台中的程序。要運行後台中的 nohup 命令,添加 & ( 表示」and」的符號)到命令的尾部。

無論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 文件中。如果當前目錄的 nohup.out
文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。如果沒有文件能創建或打開以用於追加,那麼 Command
參數指定的命令不可調用。如果標准錯誤是一個終端,那麼把指定的命令寫給標准錯誤的所有輸出作為標准輸出重定向到相同的文件描述符。

退出狀態:該命令返回下列出口值:

126 可以查找但不能調用 Command 參數指定的命令。

127 nohup 命令發生錯誤或不能查找由 Command 參數指定的命令。

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

nohup命令及其輸出文件

nohup命令:如果你正在運行一個進程,而且你覺得在退出帳戶時該進程還不會結束,那麼可以使用nohup命令。該命令可以在你退出帳戶/關閉終端之後繼續運行相應的進程。nohup就是不掛起的意思(
no hang up)。

該命令的一般形式為:

復制代碼
代碼如下:

nohup command &

使用nohup命令提交作業

如果使用nohup命令提交作業,那麼在預設情況下該作業的所有輸出都被重定向到一個名為nohup.out的文件中,除非另外指定了輸出文件:

復制代碼
代碼如下:

nohup command > myout.file 2>&1
&

在上面的例子中,輸出被重定向到myout.file文件中。

使用 jobs 查看任務。

使用 fg
%jobnumber是將任務拿到前台執行,拿到前台後如果要關閉這個任務按Ctrl+c組合鍵即可,但如果要暫停這個任務可以按Ctrl+z組合鍵這時就會將任務置於暫停狀態。

[root@wangdm ~ 22:51 #81]# jobs
[2]+ Stopped dd
if=/dev/zero of=/dev/null bs=8k count=100000000
[3]- Stopped
dd if=/dev/zero of=/dev/null bs=8k count=100000000

如果想要暫停的任務繼續在後執行可以使用 bg %jobnumber這樣暫停後的任務繼續在後台運行狀態會變為running

『伍』 linux 系統中 nohup命令如何使用

linux的nohup命令的用法。

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

『陸』 nohup命令的用法

nohup命令的用法在應用Unix/linux時,我們一般想讓某個程序在後台運行,於是我們將常會用
&
在程序結尾來讓程序自動運行。比如我們要運行mysql在後台:
/usr/local/mysql/bin/mysqld_safe
–user=mysql
&。可是有很多程序並不想mysqld一樣,這樣我們就需要nohup命令,怎樣使用nohup命令呢?這里講解nohup命令的一些用法。nohup
/root/start.sh
&在shell中回車後提示:[~]$
appending
output
to
nohup.out原程序的的標准輸出被自動改向到當前目錄下的nohup.out文件,起到了log的作用。但是有時候在這一步會有問題,當把終端關閉後,進程會自動被關閉,察看nohup.out可以看到在關閉終端瞬間服務自動關閉。咨詢紅旗linux工程師後,他也不得其解,在我的終端上執行後,他啟動的進程竟然在關閉終端後依然運行。在第二遍給我演示時,我才發現我和他操作終端時的一個細節不同:他是在當shell中提示了nohup成功後還需要按終端上鍵盤任意鍵退回到shell輸入命令窗口,然後通過在shell中輸入exit來退出終端;而我是每次在nohup執行成功後直接點關閉程序按鈕關閉終端.。所以這時候會斷掉該命令所對應的session,導致nohup對應的進程被通知需要一起shutdown。這個細節有人和我一樣沒注意到,所以在這兒記錄一下了。附:nohup命令參考nohup
命令用途:不掛斷地運行命令。語法:nohup
Command
[
Arg
]
[&
]描述:nohup
命令運行由
Command
參數和任何相關的
Arg
參數指定的命令,忽略所有掛斷(SIGHUP)信號。在注銷後使用
nohup
命令運行後台中的程序。要運行後台中的
nohup
命令,添加
&

表示and的符號)到命令的尾部。無論是否將
nohup
命令的輸出重定向到終端,輸出都將附加到當前目錄的
nohup.out
文件中。如果當前目錄的
nohup.out
文件不可寫,輸出重定向到
$HOME/nohup.out
文件中。如果沒有文件能創建或打開以用於追加,那麼
Command
參數指定的命令不可調用。如果標准錯誤是一個終端,那麼把指定的命令寫給標准錯誤的所有輸出作為標准輸出重定向到相同的文件描述符。退出狀態:該命令返回下列出口值:126
可以查找但不能調用
Command
參數指定的命令。127
nohup
命令發生錯誤或不能查找由
Command
參數指定的命令。否則,nohup
命令的退出狀態是
Command
參數指定命令的退出狀態。nohup命令及其輸出文件nohup命令:如果你正在運行一個進程,而且你覺得在退出帳戶時該進程還不會結束,那麼可以使用nohup命令。該命令可以在你退出帳戶/關閉終端之後繼續運行相應的進程。nohup就是不掛起的意思(
n
ohang
up)。該命令的一般形式為:nohup
command
&使用nohup命令提交作業如果使用nohup命令提交作業,那麼在預設情況下該作業的所有輸出都被重定向到一個名為nohup.out的文件中,除非另外指定了輸出文件:nohup
command
>
myout.file
2>&1
&在上面的例子中,輸出被重定向到myout.file文件中。

『柒』 linux下nohup 命令怎麼kill

Unix中 nohup 命令功能就是不掛斷地運行命令,同時 nohup 把程序的所有輸出到放到當前目錄 nohup.out 文件中,如果文件不可寫,則放到 <用戶主目錄>/nohup.out 文件中。那麼有了這個命令以後我們php就寫成shell 腳本使用循環來讓我們腳本一直運行下去,不管我們終端窗口是否關閉都能夠讓我們php 腳本一直運行下去。 馬上動手寫個 PHP 小程序,功能為每30秒記錄時間,寫入到文件 復制代碼 代碼如下: # vi for_ever.php #! /usr/local/php/bin/php define('ROOT', dirname(__FILE__).'/'); set_time_limit(0); while (true) { file_put_contents(ROOT.'for_ever.txt', date('Y-m-d H:i:s')."\n", FILE_APPEND); echo date('Y-m-d H:i:s'), ' OK!'; sleep(30); } ?> 保存退出,然後賦予 for_ever.php 文件可執行許可權: # chmod +x for_ever.php 讓它在再後台執行: # nohup /home/andy/for_ever.php.php & 記得最後加上 & 符號,這樣才能夠跑到後台去運行 執行上述命令後出現如下提示: [1] 5157 nohup: appending output to 'nohup.out' 所有命令執行輸出信息都會放到 nohup.out 文件中 這時你可以打開 for_ever.php 同目錄下的 for_ever.txt 和 nohup.out 看看效果! 好了,它會永遠運行下去了,怎麼結束它呢? # ps PID TTY TIME CMD 4247 pts/1 00:00:00 bash 5157 pts/1 00:00:00 for_ever.php 5265 pts/1 00:00:00 ps # kill -9 5157 找到進程號 5157 殺之,你將看到 [1]+ Killed nohup /home/andy/for_ever.php OK! ==================== 在很多項目中,或許有很多類似的後端腳本需要通過crontab定時執行。比如每10秒檢查一下用戶狀態。腳本如下: @file: /php_scripts/scan_userstatus.php 復制代碼 代碼如下: #!/usr/bin/env php -q $status = has_goaway(); if ($status) { //done } ?> 通過crontab定時執行腳本scan_userstatus.php #echo 「*:*/10 * * * * /php_scripts/scan_userstatus.php」 這樣,每隔10秒鍾,就會執行該腳本。 我們發現,在短時間內,該腳本的內存資源還沒有釋放完,又啟用了新的腳本。也就是說:新腳本啟動了,舊腳本佔用的資源還沒有如願釋放。如此,日積月累,浪費了很多內存資源。我們對這個腳本進行了一下改進,改進後如下: @file: /php_scripts/scan_userstatus.php 復制代碼 代碼如下: #/usr/bin/env php -q while (1) { $status = has_goaway(); if ($status) { //done } usleep(10000000); } ?> 這樣,不需要crontab了。可以通過以下命令執行腳本,達到相同的功能效果 #chmod +x /php_scripts/scan_userstatus.php #nohup /php_scripts/scan_userstatus.php & 在這里,我們通過&將腳本放到後台運行,為了防止隨著終端會話窗口關閉進程被殺,我們使用了nohup命令。那麼有沒有辦法,不使nohup命令,也能夠運行呢,就像Unin/Linux Daemon一樣。接下來,就是我們要講的守護進程函數。 什麼是守護進程?一個守護進程通常補認為是一個不對終端進行控制的後台任務。它有三個很顯著的特徵:在後台運行,與啟動他的進程脫離,無須控制終端。常用的實現方式是fork() -> setsid() -> fork() 詳細如下: @file: /php_scripts/scan_userstatus.php 復制代碼 代碼如下: #/usr/bin/env php -q daemonize(); while (1) { $status = has_goaway(); if ($status) { //done } usleep(10000000); } function daemonize() { $pid = pcntl_fork(); if ($pid === -1 ) { return FALSE; } else if ($pid) { usleep(500); exit(); //exit parent } chdir("/"); umask(0); $sid = posix_setsid(); if (!$sid) { return FALSE; } $pid = pcntl_fork(); if ($pid === -1) { return FALSE; } else if ($pid) { usleep(500); exit(0); } if (defined('STDIN')) { fclose(STDIN); } if (defined('STDOUT')){ fclose(STDOUT); } if (defined('STDERR')) { fclose(STDERR); } } ?> 實現了守護進程函數以後,則可以建立一個常駐進程,所以只需要執行一次: #/php_scripts/scan_userstatus.php 這里較為關鍵的二個php函數是pcntl_fork()和posix_setsid()。fork()一個進程,則表示創建了一個運行進程的副本,副本被認為是子進程,而原始進程被認為是父進程。當fork()運行之後,則可以脫離啟動他的進程與終端控制等,也意味著父進程可以自由退出。 pcntl_fork()返回值,-1表示執行失敗,0表示在子進程中,而返進程ID號,則表示在父進程中。在這里,退出父進程。setsid(),它首先使新進程成為一個新會話的「領導者」,最後使該進程不再控制終端,這也是成為守護進程最關鍵的一步,這意味著,不會隨著終端關閉而強制退出進程。對於一個不會被中斷的常駐進程來說,這是很關鍵的一步。進行最後一次fork(),這一步不是必須的,但通常都這么做,它最大的意義是防止獲得控制終端。(在直接打開一個終端設備,而且沒有使用O_NOCTTY標志的情況下, 會獲得控制終端). 其它事項說明: 1) chdir() 將守護進程放到總是存在的目錄中,另外一個好處是,你的常駐進程不會限制你umount一個文件系統。 2)umask() 設置文件模式,創建掩碼到最大的允許限度。如果一個守護進程需要創建具有可讀,可寫許可權的文件,一個被繼承的具有更嚴格許可權的掩碼會有反作用。 3)fclose(STDIN), fclose(STDOUT), fclose(STDERR) 關閉標准I/O流。注意,如果有輸出(echo),則守護進程會失敗。所以通常將STDIN, STDOUT, STDERR重定向某個指定文件.

『捌』 linux命令裡面的nohup命令和 & 是一個意思嗎不掛斷是什麼意思

場景:
如果只是臨時有一個命令需要長時間運行,什麼方法能最簡便的保證它在後台穩定運行呢?

hangup 名稱的來由
在 Unix 的早期版本中,每個終端都會通過 modem 和系統通訊。當用戶 logout 時,modem 就會掛斷(hang up)電話。 同理,當 modem 斷開連接時,就會給終端發送 hangup 信號來通知其關閉所有子進程。
解決方法:
我們知道,當用戶注銷(logout)或者網路斷開時,終端會收到 HUP(hangup)信號從而關閉其所有子進程。因此,我們的解決辦法就有兩種途徑:要麼讓進程忽略 HUP 信號,要麼讓進程運行在新的會話里從而成為不屬於此終端的子進程。

1. nohup
nohup 無疑是我們首先想到的辦法。顧名思義,nohup 的用途就是讓提交的命令忽略 hangup 信號。讓我們先來看一下 nohup 的幫助信息:
NOHUP(1) User Commands NOHUP(1)

NAME
nohup - run a command immune to hangups, with output to a non-tty

SYNOPSIS
nohup COMMAND [ARG]...
nohup OPTION

DESCRIPTION
Run COMMAND, ignoring hangup signals.

--help display this help and exit

--version
output version information and exit

可見,nohup 的使用是十分方便的,只需在要處理的命令前加上 nohup 即可,標准輸出和標准錯誤預設會被重定向到 nohup.out 文件中。一般我們可在結尾加上"&"來將命令同時放入後台運行,也可用">filename 2>&1"來更改預設的重定向文件名。
nohup 示例
[root@pvcent107 ~]# nohup ping www.ibm.com &
[1] 3059
nohup: appending output to `nohup.out'
[root@pvcent107 ~]# ps -ef |grep 3059
root 3059 984 0 21:06 pts/3 00:00:00 ping www.ibm.com
root 3067 984 0 21:06 pts/3 00:00:00 grep 3059
[root@pvcent107 ~]#

2。setsid
nohup
無疑能通過忽略 HUP 信號來使我們的進程避免中途被中斷,但如果我們換個角度思考,如果我們的進程不屬於接受 HUP
信號的終端的子進程,那麼自然也就不會受到 HUP 信號的影響了。setsid 就能幫助我們做到這一點。讓我們先來看一下 setsid
的幫助信息:
SETSID(8) Linux Programmer』s Manual SETSID(8)

NAME
setsid - run a program in a new session

SYNOPSIS
setsid program [ arg ... ]

DESCRIPTION
setsid runs a program in a new session.

可見 setsid 的使用也是非常方便的,也只需在要處理的命令前加上 setsid 即可。
setsid 示例
[root@pvcent107 ~]# setsid ping www.ibm.com
[root@pvcent107 ~]# ps -ef |grep www.ibm.com
root 31094 1 0 07:28 ? 00:00:00 ping www.ibm.com
root 31102 29217 0 07:29 pts/4 00:00:00 grep www.ibm.com
[root@pvcent107 ~]#

值得注意的是,上例中我們的進程 ID(PID)為31094,而它的父 ID(PPID)為1(即為 init 進程 ID),並不是當前終端的進程 ID。請將此例與nohup 例中的父 ID 做比較。
3。&
這里還有一個關於 subshell 的小技巧。我們知道,將一個或多個命名包含在「()」中就能讓這些命令在子 shell 中運行中,從而擴展出很多有趣的功能,我們現在要討論的就是其中之一。
當我們將"&"也放入「()」內之後,我們就會發現所提交的作業並不在作業列表中,也就是說,是無法通過jobs來查看的。讓我們來看看為什麼這樣就能躲過 HUP 信號的影響吧。
subshell 示例
[root@pvcent107 ~]# (ping www.ibm.com &)
[root@pvcent107 ~]# ps -ef |grep www.ibm.com
root 16270 1 0 14:13 pts/4 00:00:00 ping www.ibm.com
root 16278 15362 0 14:13 pts/4 00:00:00 grep www.ibm.com
[root@pvcent107 ~]#

從上例中可以看出,新提交的進程的父 ID(PPID)為1(init 進程的 PID),並不是當前終端的進程 ID。因此並不屬於當前終端的子進程,從而也就不會受到當前終端的 HUP 信號的影響了。
回頁首
disown
場景:
我們已經知道,如果事先在命令前加上 nohup 或者 setsid 就可以避免 HUP 信號的影響。但是如果我們未加任何處理就已經提交了命令,該如何補救才能讓它避免 HUP 信號的影響呢?

解決方法:
這時想加 nohup 或者 setsid 已經為時已晚,只能通過作業調度和 disown 來解決這個問題了。讓我們來看一下 disown 的幫助信息:

disown [-ar] [-h] [jobspec ...]
Without options, each jobspec is removed from the table of
active jobs. If the -h option is given, each jobspec is not
removed from the table, but is marked so that SIGHUP is not
sent to the job if the shell receives a SIGHUP. If no jobspec
is present, and neither the -a nor the -r option is supplied,
the current job is used. If no jobspec is supplied, the -a
option means to remove or mark all jobs; the -r option without
a jobspec argument restricts operation to running jobs. The
return value is 0 unless a jobspec does not specify a valid
job.

可以看出,我們可以用如下方式來達成我們的目的。
靈活運用 CTRL-z

我們的日常工作中,我們可以用 CTRL-z 來將當前進程掛起到後台暫停運行,執行一些別的操作,然後再用 fg 來將掛起的進程重新放回前台(也可用
bg
來將掛起的進程放在後台)繼續運行。這樣我們就可以在一個終端內靈活切換運行多個任務,這一點在調試代碼時尤為有用。因為將代碼編輯器掛起到後台再重新放
回時,游標定位仍然停留在上次掛起時的位置,避免了重新定位的麻煩。
用disown -h jobspec來使某個作業忽略HUP信號。
用disown -ah 來使所有的作業都忽略HUP信號。
用disown -rh 來使正在運行的作業忽略HUP信號。
需要注意的是,當使用過 disown 之後,會將把目標作業從作業列表中移除,我們將不能再使用jobs來查看它,但是依然能夠用ps -ef查找到它。
但是還有一個問題,這種方法的操作對象是作業,如果我們在運行命令時在結尾加了"&"來使它成為一個作業並在後台運行,那麼就萬事大吉了,我們可以通過jobs命令來得到所有作業的列表。但是如果並沒有把當前命令作為作業來運行,如何才能得到它的作業號呢?答案就是用 CTRL-z(按住Ctrl鍵的同時按住z鍵)了!
CTRL-z 的用途就是將當前進程掛起(Suspend),然後我們就可以用jobs命令來查詢它的作業號,再用bg jobspec來將它放入後台並繼續運行。需要注意的是,如果掛起會影響當前進程的運行結果,請慎用此方法。
disown 示例1(如果提交命令時已經用「&」將命令放入後台運行,則可以直接使用「disown」)
[root@pvcent107 build]# cp -r testLargeFile largeFile &
[1] 4825
[root@pvcent107 build]# jobs
[1]+ Running cp -i -r testLargeFile largeFile &
[root@pvcent107 build]# disown -h %1
[root@pvcent107 build]# ps -ef |grep largeFile
root 4825 968 1 09:46 pts/4 00:00:00 cp -i -r testLargeFile largeFile
root 4853 968 0 09:46 pts/4 00:00:00 grep largeFile
[root@pvcent107 build]# logout

disown 示例2(如果提交命令時未使用「&」將命令放入後台運行,可使用 CTRL-z 和「bg」將其放入後台,再使用「disown」)
[root@pvcent107 build]# cp -r testLargeFile largeFile2

[1]+ Stopped cp -i -r testLargeFile largeFile2
[root@pvcent107 build]# bg %1
[1]+ cp -i -r testLargeFile largeFile2 &
[root@pvcent107 build]# jobs
[1]+ Running cp -i -r testLargeFile largeFile2 &
[root@pvcent107 build]# disown -h %1
[root@pvcent107 build]# ps -ef |grep largeFile2
root 5790 5577 1 10:04 pts/3 00:00:00 cp -i -r testLargeFile largeFile2
root 5824 5577 0 10:05 pts/3 00:00:00 grep largeFile2
[root@pvcent107 build]#


『玖』 linux怎麼查詢nohup的進程

在linux操作系統中從後台一直運行某個程序的方法,就是使用nohup命令了。Unix/Linux下一般比如想讓某個程序在後台運行,很多都是使用在程序結尾來讓程序自動運行。以下是查詢方法。

『拾』 求解:linux下找不到nohup這個命令

linux下找不到nohup這個命令是設置錯誤造成的,解決方法為:

1、nohup命令:可以將程序以忽略掛起信號的方式運行起來。

熱點內容
我的世界好玩伺服器拍視頻 發布:2024-10-05 13:23:19 瀏覽:553
穿越火線掛機腳本 發布:2024-10-05 13:05:44 瀏覽:33
分解質因數c語言 發布:2024-10-05 12:15:53 瀏覽:777
mysql存儲過程字元編碼 發布:2024-10-05 12:05:48 瀏覽:182
c語言命名 發布:2024-10-05 11:56:38 瀏覽:617
編程哪個好學習 發布:2024-10-05 11:50:59 瀏覽:1000
為什麼不買安卓旗艦 發布:2024-10-05 11:46:04 瀏覽:382
ostcb編譯條件 發布:2024-10-05 11:28:24 瀏覽:993
win10怎麼關閉登錄密碼 發布:2024-10-05 11:09:55 瀏覽:936
降溫解壓器 發布:2024-10-05 10:54:15 瀏覽:422