CentOS 7 設置批量後臺運行程序,並開機自啓動

近期研究Golang,將編譯好的可執行文件複製到服務器後,遇到以下執行問題:

  1. 需要一個一個手動啓動
  2. 啓動後會接管控制檯,無法進行其他操作
  3. Ctrl+C退出或關閉SSH控制檯後程序立刻停止,無法在後臺運行
  4. 服務器重啓後無法自啓動

針對以上問題,研究了一陣子,終於全部解決,索性記錄一下。

先將最終要用到的文件展示一下,然後慢慢解釋:


/home/www/app_goodee_cn/public/test/serverAutoRun.sh

#! /bin/bash

allfile=`ls /home/www/app_goodee_cn/public/test/go`
for onefile in $allfile
do
  nohup /home/www/app_goodee_cn/public/test/go/$onefile >>/dev/null 2>&1 &
done

/etc/rc.d/rc.local

/home/www/app_goodee_cn/public/test/serverAutoRun.sh &

兩個文件都需要賦予可執行權限

serverAutoRun.sh:

shell腳本,用於控制執行哪些程序

本示例中的循環表示循環執行/home/www/app_goodee_cn/public/test/go目錄下的所有程序,也可以加一些篩選條件,這裏不進行擴展了,有需要的看官自行搜索。

nohup表示可以脫離終端運行,也就是可以關閉SSH連接窗口,依然運行

命令最後的&不能省略,這表示後臺執行,不接管控制檯輸出

rc.local:

開機自啓動列表,用於控制開機執行什麼腳本,最後的&同上

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章