nohup如何執(zhí)行shell腳本 shell腳本中用nohup啟動(dòng)3個(gè)進(jìn)程,為什么輸入回車后會(huì)有一或兩個(gè)進(jìn)程被殺掉?
shell腳本中用nohup啟動(dòng)3個(gè)進(jìn)程,為什么輸入回車后會(huì)有一或兩個(gè)進(jìn)程被殺掉?重寫為:(nohup。/a)和(nohup。/b)和(nohup。/C)等待注意:打開三個(gè)子shell在后臺(tái)執(zhí)行操作,
shell腳本中用nohup啟動(dòng)3個(gè)進(jìn)程,為什么輸入回車后會(huì)有一或兩個(gè)進(jìn)程被殺掉?
重寫為:(nohup。/a)和(nohup。/b)和(nohup。/C)等待注意:打開三個(gè)子shell在后臺(tái)執(zhí)行操作,()表示打開子shell。如果不帶括號(hào)直接寫,會(huì)直接在父shell中操作,可能會(huì)導(dǎo)致邏輯錯(cuò)誤,因?yàn)檫@個(gè)進(jìn)程不是在命令行上執(zhí)行的,根據(jù)實(shí)際情況添加Wait,也就是說前三個(gè)進(jìn)程完成后,我們將進(jìn)入下一步
在應(yīng)用UNIX/Linux時(shí),我們通常希望程序在后臺(tái)運(yùn)行,因此我們經(jīng)常
在程序末尾使用&使程序自動(dòng)運(yùn)行。例如,我們需要在后臺(tái)運(yùn)行MySQL/usr/local/MySQL/bin/mysqldusafe
–user=MySQL
&;但是許多程序不像mysqld,所以我們需要nohup命令。如何使用nohup命令?下面是nohup命令的一些用法。
nohup/根/開始.sh&Amp
在shell中輸入后提示:
[~]$將輸出附加到不呼出
原始程序的標(biāo)準(zhǔn)輸出將自動(dòng)更改為當(dāng)前目錄不呼出文件,起日志的作用。
但這一步有時(shí)會(huì)出現(xiàn)問題。當(dāng)終端關(guān)閉時(shí),進(jìn)程將自動(dòng)關(guān)閉并查看不呼出您可以看到,當(dāng)終端關(guān)閉時(shí),服務(wù)會(huì)自動(dòng)關(guān)閉。
求解:linux下找不到nohup這個(gè)命令?
使用nohup命令執(zhí)行,例如:nohuptest.sh和ampnohup命令用途:不掛斷運(yùn)行命令。語法:nohupcommand[Arg][&]描述:nohup命令運(yùn)行由command參數(shù)和任何相關(guān)Arg參數(shù)指定的命令,忽略所有up信號(hào)。注銷后,使用nohup命令在后臺(tái)運(yùn)行程序。要在后臺(tái)運(yùn)行nohup命令,請(qǐng)?jiān)诿钅┪蔡砑?amp(“and”的符號(hào))。無論nohup命令的輸出是否重定向到終端,輸出都將附加到當(dāng)前目錄不呼出文件。如果不呼出文件不可寫,輸出重定向到$home/不呼出文件。如果無法創(chuàng)建或打開任何文件進(jìn)行追加,則無法調(diào)用command參數(shù)指定的命令。如果標(biāo)準(zhǔn)錯(cuò)誤是終端,那么指定的命令將寫入標(biāo)準(zhǔn)錯(cuò)誤的所有輸出,并重定向到與標(biāo)準(zhǔn)輸出相同的文件描述符。