欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Laravel框架控制器,視圖及模型操作圖文詳解

    Laravel框架控制器,視圖及模型操作圖文詳解

    這篇文章主要介紹了Laravel框架控制器,視圖及模型操作,結合實例形式詳細分析了laravel框架控制器,視圖及模型的基本功能、原理與相關操作使用技巧,需要的朋友可以參考下
    2019-12-12
  • PHP+Ajax 網(wǎng)站SEO查詢工具 提供代碼

    PHP+Ajax 網(wǎng)站SEO查詢工具 提供代碼

    PHP+Ajax 網(wǎng)站SEO查詢工具 提供代碼...
    2007-03-03
  • thinkphp實現(xiàn)面包屑導航(當前位置)例子分享

    thinkphp實現(xiàn)面包屑導航(當前位置)例子分享

    今天把博客一些細節(jié)完善了一下,其中修改了一下欄目頁和文章頁中的“當前位置”。
    2014-05-05
  • Laravel + Elasticsearch 實現(xiàn)中文搜索的方法

    Laravel + Elasticsearch 實現(xiàn)中文搜索的方法

    這篇文章主要介紹了Laravel + Elasticsearch 實現(xiàn)中文搜索的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • CodeIgniter記錄錯誤日志的方法全面總結

    CodeIgniter記錄錯誤日志的方法全面總結

    這篇文章主要介紹了CodeIgniter記錄錯誤日志的方法,詳細分析了CodeIgniter框架的文件結構與相應的功能,結合實例分析了CodeIgniter框架記錄錯誤日志的實現(xiàn)技巧,并分析了隱藏index文件與數(shù)據(jù)傳輸?shù)燃记?總結非常全面,需要的朋友可以參考下
    2016-05-05
  • 使用php完成常見的文件上傳功能(推薦)

    使用php完成常見的文件上傳功能(推薦)

    文件上傳功能在開發(fā)過程中是非常常見的功能,可以上傳文件也可以上傳頭像等,不同的瀏覽器文件上傳有不同的效果,下面通過本文給大家分享使用php完成常見的文件上傳功能,需要的朋友參考下吧
    2017-01-01
  • PHP實現(xiàn)WebSocket實例詳解

    PHP實現(xiàn)WebSocket實例詳解

    這篇文章主要介紹了PHP實現(xiàn)WebSocket實例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • PHP實現(xiàn)阿里大魚短信驗證的實例代碼

    PHP實現(xiàn)阿里大魚短信驗證的實例代碼

    本篇文章主要介紹了PHP實現(xiàn)阿里大魚短信驗證的實例代碼的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Laravel使用消息隊列需要注意的一些問題

    Laravel使用消息隊列需要注意的一些問題

    這篇文章主要給大家介紹了關于Laravel使用消息隊列需要注意的一些問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起看看吧。
    2017-12-12
  • thinkPHP+phpexcel實現(xiàn)excel報表輸出功能示例

    thinkPHP+phpexcel實現(xiàn)excel報表輸出功能示例

    這篇文章主要介紹了thinkPHP+phpexcel實現(xiàn)excel報表輸出功能,結合具體實例形式分析了thinkPHP整合PHPExcel實現(xiàn)針對Excel文件相關操作技巧,需要的朋友可以參考下
    2017-06-06

最新評論