在 CentOS 上,結合使用 nohup
和 systemd
可以有效地管理系統進程
nohup
運行進程:nohup
是一個在 Unix 和類 Unix 系統上用于在后臺運行程序的命令行實用程序。它允許程序在終端關閉后繼續運行。要使用 nohup
運行進程,只需在命令前加上 nohup
,并將輸出重定向到一個名為 output.log
的日志文件中。例如:
nohup your_command > output.log 2>&1 &
這將在后臺運行 your_command
,并將標準輸出和標準錯誤輸出重定向到 output.log
文件。&
符號表示將進程放入后臺運行。
為了使用 systemd
管理進程,您需要創建一個名為 your_service.service
的 systemd 服務文件。這個文件將包含有關如何運行和管理您的進程的信息。
在 /etc/systemd/system/
目錄下創建一個名為 your_service.service
的文件,并添加以下內容:
[Unit]
Description=Your Service Description
After=network.target
[Service]
User=your_user
WorkingDirectory=/path/to/working/directory
ExecStart=/usr/bin/nohup your_command > /path/to/output.log 2>&1 &
Restart=always
[Install]
WantedBy=multi-user.target
請根據您的需求修改 Description
、User
、WorkingDirectory
和 ExecStart
等字段。
要使您的更改生效,請運行以下命令重新加載 systemd 配置:
sudo systemctl daemon-reload
接下來,啟動新創建的服務:
sudo systemctl start your_service
如果您希望在系統啟動時自動啟動此服務,請運行以下命令:
sudo systemctl enable your_service
要查看服務的當前狀態,請運行以下命令:
sudo systemctl status your_service
這將顯示有關服務狀態的詳細信息,包括是否正在運行、啟動狀態以及任何錯誤消息。
通過以上步驟,您可以在 CentOS 上結合使用 nohup
和 systemd
來管理進程。這樣,您可以輕松地啟動、停止、重啟和管理后臺進程。