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

nohup在后臺常駐運行php腳本

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

nohup是什么

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

nohup語法規(guī)則

nohup命令的基本語法如下:

1

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

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

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

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

  • nohup命令將當前shell的標準輸入、標準輸出和標準錯誤輸出全部重定向到/dev/null設備中,避免被關閉終端的信號所中斷。
  • nohup命令將進程放到后臺執(zhí)行,并將進程的PID輸出到終端。
  • 進程開始執(zhí)行,并將標準輸出和標準錯誤輸出重定向到指定的文件中。
  • 用戶可以退出終端或關閉終端窗口,進程仍然在后臺運行。

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

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

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

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

命令:nohup php socket.php &

這樣關閉終端也不會斷開了
在項目目錄會生成一個nohup.out文件,記錄著所有信息和異常
要關閉的話使用:

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

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

1、用nohup在后臺常駐運行php腳本:

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

2、查看進程:

ps -ef|grep redis_subscribe.php

3、查看所有進程:

ps -ef

4、查看某一進程:

ps [PID]

5、終止進程:

kill -9 [PID]

nohup命令常用方法

使用nohup命令啟動一個程序

如果你需要運行一個程序,即使對應的 Shell 被退出后依然保持運行,可以這樣使用 nohup 運行這個程序:

$ nohup command

當這個程序進行起來之后,這個程序?qū)?log 輸出及其錯誤日志都將被記錄在 nohup.out 文件里,這個文件一般位于家目錄或者當前目錄。

重定向程序的輸出

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

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

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

使用nohup命令后臺啟動一個程序

如果想讓程序在后臺運行,可以加上 & 符號。但這樣運行之后,程序就無影無蹤了。想要讓程序重新回到終端,可以使用 fg 命令。

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

使用nohup同時運行多個程序

如果你需要同時跑多個程序,沒必要一個個運行,直接使用 && 符號即可。比如,你想同時跑 mkdir ,ping,ls 三個命令,可以這樣運行:

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

終止跑在后臺的進程

上面有提到,nohup 命令結合 & 符號可以使進程在后臺運行,即使關閉了終端依然不受影響。這時,如果想要終止這個進程,要怎么操作呢?

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

$ kill -9 PID

那要如何找到進程對應的 pid 呢?我們可以使用 ps 命令。

$ ps aux | grep myScript.sh

或者你使用 pgrep 命令也行。

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

$ kill -9 14942

總結

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

相關文章

最新評論

长沙市| 元谋县| 宁乡县| 长顺县| 姚安县| 南汇区| 吉林省| 增城市| 阜平县| 新乡市| 建水县| 黑龙江省| 盐池县| 福安市| 喀什市| 宜宾县| 遵义市| 平原县| 沙坪坝区| 安阳市| 桑植县| 衡阳市| 望城县| 额敏县| 武定县| 桃江县| 濉溪县| 新绛县| 景谷| 大洼县| 吉木乃县| 保亭| 安国市| 大方县| 金寨县| 乐都县| 宝兴县| 利津县| 闵行区| 丰顺县| 永平县|