溫馨提示×

nohup命令如何防止進程被系統重啟影響

小樊
79
2025-02-25 05:30:33
欄目: 編程語言

nohup(no hang-up)命令可以使進程在用戶退出登錄后繼續運行,即使終端關閉也不會終止。然而,nohup并不能完全防止進程被系統重啟影響。為了確保進程在系統重啟后自動恢復運行,你可以結合使用nohupsystemd服務。

以下是如何創建一個systemd服務來管理你的進程:

  1. 創建一個新的服務文件。以文本編輯器打開或創建一個新文件,例如/etc/systemd/system/my_service.service。將my_service替換為你的服務名稱。
[Unit]
Description=My custom service
After=network.target

[Service]
Type=simple
User=my_user
WorkingDirectory=/path/to/working/directory
ExecStart=/path/to/your/script.sh
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

在這個文件中,你需要根據你的需求修改以下部分:

  • Description: 服務的描述。
  • After: 指定服務啟動的順序,這里是在網絡啟動之后。
  • User: 運行服務的用戶。
  • WorkingDirectory: 服務的工作目錄。
  • ExecStart: 啟動服務的命令,這里是你需要運行的腳本。
  • Restart: 設置服務在退出時是否自動重啟,always表示總是重啟。
  • RestartSec: 設置服務重啟之間的間隔時間。
  1. 重新加載systemd配置。運行以下命令以使systemd重新加載服務文件:
sudo systemctl daemon-reload
  1. 啟動新創建的服務。運行以下命令以啟動你的服務:
sudo systemctl start my_service
  1. 設置服務開機自啟。運行以下命令以設置服務在系統啟動時自動運行:
sudo systemctl enable my_service

現在,你的進程將在系統重啟后自動恢復運行,即使使用nohup也無法阻止這種情況。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女