看板 Linux 關於我們 聯絡資訊
大家好~ 想請問關於 screen 的問題,是這樣的, 我有一個簡單的 Linux Server ( CentOS ),在執行某遊戲的 Server 因為機器配備不算高,希望可以在每天某個時間點自動重開遊戲的 Server 有時候我會需要 SSH 登入看一些 Server 的訊息,所以選擇使用 screen 啟動方式如下: screen -dmS MySvr (command to run server) 因為在遊戲中要整點報時,所以在 crontab 中有設定每小時 0 分執行: screen -S MySvr -X stuff '/tell 整點通知^M' 所以在啟動 server 的時候是必須給予 Session name 目前問題卡在重新啟動,已經將重新啟動前的一些通知、警告 以及重開的動作寫成一個 sh 檔案,並在 crontab 設定執行這個 sh 的時間: #這邊有一些一開始的動作 screen -S MySvr -X stuff '/tell Server 即將重開^M' sleep 30 screen -S MySvr -X stuff '/stopserver^M' #這邊有進行一些釋放記憶體和暫存清除資料的動作 screen -dmS MySvr RunServerCommand 測試結果,當時間到的時候,這些通知、清除資料的部分都有執行到 (在遊戲裡也確實有看到通知) 但似乎就是無法重新啟動 server 請問大家我的想法哪邊有問題,還是有哪些需要改的呢? 謝謝大家 :D PS :透過 crontab 重開後,我要能夠用 screen -r 將 screen 切換出來 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.139.111.107 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1427877886.A.98B.html
filiaslayers: 單獨執行這個script有問題嗎?還是用cron就不行了? 04/01 17:23
aeolus0829: 停止/啟動 server 也要用到 screen 指令?有必要嗎? 04/01 17:36
carylorrk: 把訊息 redirect 到 log 檔啊... 04/01 18:03
carylorrk: 話說我覺得 tmux 比較適合當指令來用 04/01 18:04
tjjh89017: 是因為沒有用絕對路徑寫screen嗎?@@ 04/01 20:36
darkk6: 是用絕對路徑喔~ 04/01 21:26
pizzahut: 一定要用 screen 嗎?不能用有時候可能跟程式本身有關.. 04/01 22:23
pizzahut: 歐,沒看到下面有回覆,抱歉@@ 04/01 22:25
jokester: an interactive session hardly fits ur aim 04/02 11:14
darkk6: QAQ... 04/02 12:08