最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nohup在后臺(tái)常駐運(yùn)行php腳本

 更新時(shí)間:2024年03月23日 11:09:59   投稿:yin  
linux中跑一個(gè)程序,如果我們退出終端,或者網(wǎng)絡(luò)不好連接中斷,那么程序就會(huì)被中止,而這個(gè)情況肯定不是我們想看到的,要讓PHP程序在Linux后臺(tái)執(zhí)行,可以使用nohup命令配合&符號(hào),nohup命令可以使進(jìn)程在用戶注銷后繼續(xù)運(yùn)行,&可以將進(jìn)程放到后臺(tái)執(zhí)行

nohup是什么

nohup是Linux和Unix系統(tǒng)中的一個(gè)命令,其作用是在終端退出時(shí),讓進(jìn)程在后臺(tái)繼續(xù)運(yùn)行。它的全稱為“no hang up”,意為“不掛起”。nohup命令可以讓你在退出終端或關(guān)閉SSH連接后繼續(xù)運(yùn)行命令。

nohup語法規(guī)則

nohup命令的基本語法如下:

1

nohup COMMAND [ARGS ...] [> output-file 2> error-file] &

其中的參數(shù)含義如下:

  • COMMAND:需要在后臺(tái)運(yùn)行的命令或腳本。
  • ARGS:命令或腳本的參數(shù)。
  • > output-file:輸出重定向到指定的文件中。
  • 2> error-file:錯(cuò)誤信息重定向到指定的文件中。
  • &:將命令放在后臺(tái)運(yùn)行。

nohup命令的執(zhí)行過程分為以下幾個(gè)步驟:

  • nohup命令將當(dāng)前shell的標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出全部重定向到/dev/null設(shè)備中,避免被關(guān)閉終端的信號(hào)所中斷。
  • nohup命令將進(jìn)程放到后臺(tái)執(zhí)行,并將進(jìn)程的PID輸出到終端。
  • 進(jìn)程開始執(zhí)行,并將標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出重定向到指定的文件中。
  • 用戶可以退出終端或關(guān)閉終端窗口,進(jìn)程仍然在后臺(tái)運(yùn)行。

在工作中,我們很經(jīng)常跑一個(gè)很重要的程序,有時(shí)候這個(gè)程序需要跑好幾個(gè)小時(shí),甚至需要幾天,這個(gè)時(shí)候如果我們退出終端,或者網(wǎng)絡(luò)不好連接中斷,那么程序就會(huì)被中止。而這個(gè)情況肯定不是我們想看到的,我們希望即使終端關(guān)閉,程序依然可以在跑。

要讓PHP程序在Linux后臺(tái)執(zhí)行,可以使用nohup命令配合&符號(hào)。nohup命令可以使進(jìn)程在用戶注銷后繼續(xù)運(yùn)行,&可以將進(jìn)程放到后臺(tái)執(zhí)行。

nohup 命令是英語詞組 no hangup 的縮寫,意思是不掛斷,也就是指程序不退出。這個(gè)命令會(huì)使程序忽略 HUP 信號(hào),保證程序能夠正常進(jìn)行。HUP 信號(hào)有些人可能比較陌生,它是在終端被中止的時(shí)候向它所關(guān)聯(lián)的進(jìn)程所發(fā)出的信號(hào),進(jìn)程收到這個(gè)信號(hào)后就會(huì)中止運(yùn)行。所以如果你不希望進(jìn)程被這個(gè)信號(hào)干掉的話,就可以忽略這個(gè)信號(hào)。而 nohup 命令做的就是這個(gè)事情。

php程序在linux后臺(tái)執(zhí)行

命令:nohup php socket.php &

這樣關(guān)閉終端也不會(huì)斷開了
在項(xiàng)目目錄會(huì)生成一個(gè)nohup.out文件,記錄著所有信息和異常
要關(guān)閉的話使用:

ps aux | grep php
netstat -anp | grep (端口號(hào))

查看PID,然后使用:kill (PID)

1、用nohup在后臺(tái)常駐運(yùn)行php腳本:

nohup php -f /www/wwwroot/default/redis_subscribe.php &

2、查看進(jìn)程:

ps -ef|grep redis_subscribe.php

3、查看所有進(jìn)程:

ps -ef

4、查看某一進(jìn)程:

ps [PID]

5、終止進(jìn)程:

kill -9 [PID]

nohup命令常用方法

使用nohup命令啟動(dòng)一個(gè)程序

如果你需要運(yùn)行一個(gè)程序,即使對應(yīng)的 Shell 被退出后依然保持運(yùn)行,可以這樣使用 nohup 運(yùn)行這個(gè)程序:

$ nohup command

當(dāng)這個(gè)程序進(jìn)行起來之后,這個(gè)程序?qū)?yīng)的 log 輸出及其錯(cuò)誤日志都將被記錄在 nohup.out 文件里,這個(gè)文件一般位于家目錄或者當(dāng)前目錄。

重定向程序的輸出

如果我不想把程序的輸出保存在家目錄或者當(dāng)前目錄,我想保存在我指定的路徑,并且自定義文件名,要怎么操作?這時(shí)我們就可以使用重定向操作 > 。

比如,我現(xiàn)在有個(gè)腳本 myScript.sh 我想把它的輸出保存在家目錄下的 output 目錄下,文件名為 myOutput.txt ,可以這樣運(yùn)行:

$ nohup ./myScript.sh > ~/output/myOutput.txt

使用nohup命令后臺(tái)啟動(dòng)一個(gè)程序

如果想讓程序在后臺(tái)運(yùn)行,可以加上 & 符號(hào)。但這樣運(yùn)行之后,程序就無影無蹤了。想要讓程序重新回到終端,可以使用 fg 命令。

這個(gè)命令的輸出 log 將保存在 nohup.out 文件里,你可以使用 cat 或其它命令查看。第二行里 8699 這個(gè)數(shù)字代表這個(gè)命令對應(yīng)的進(jìn)程號(hào),也就是 pid 。我們可以使用 ps 命令來找到這個(gè)進(jìn)程。

使用nohup同時(shí)運(yùn)行多個(gè)程序

如果你需要同時(shí)跑多個(gè)程序,沒必要一個(gè)個(gè)運(yùn)行,直接使用 && 符號(hào)即可。比如,你想同時(shí)跑 mkdir ,ping,ls 三個(gè)命令,可以這樣運(yùn)行:

$ nohup bash -c 'mkdir files &&ping -c 1 baidu.com && ls'> output.txt

終止跑在后臺(tái)的進(jìn)程

上面有提到,nohup 命令結(jié)合 & 符號(hào)可以使進(jìn)程在后臺(tái)運(yùn)行,即使關(guān)閉了終端依然不受影響。這時(shí),如果想要終止這個(gè)進(jìn)程,要怎么操作呢?

最簡單的當(dāng)屬 kill 命令,相信大家用過很多次了。

$ kill -9 PID

那要如何找到進(jìn)程對應(yīng)的 pid 呢?我們可以使用 ps 命令。

$ ps aux | grep myScript.sh

或者你使用 pgrep 命令也行。

接下來,再使用 kill 命令就可以終止該進(jìn)程了。

$ kill -9 14942

總結(jié)

到此這篇關(guān)于nohup在linux后臺(tái)常駐運(yùn)行php腳本的文章就介紹到這了,更多相關(guān)php程序在linux后臺(tái)執(zhí)行內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

荥阳市| 盐津县| 浮梁县| 通化县| 富民县| 新沂市| 双辽市| 达拉特旗| 丹棱县| 明水县| 阿拉善左旗| 江川县| 新邵县| 白银市| 广东省| 东乌珠穆沁旗| 黑龙江省| 达拉特旗| 汤阴县| 封丘县| 阜宁县| 沾化县| 阿尔山市| 缙云县| 凤阳县| 兰州市| 类乌齐县| 绥德县| 云安县| 营口市| 莒南县| 宝坻区| 普定县| 新晃| 肥东县| 景宁| 揭阳市| 同仁县| 星子县| 涪陵区| 宣汉县|