在 CentOS 系统中,nohup 命令用于在后台运行命令,即使关闭终端或断开连接,命令也会继续执行。要将 nohup 命令与其他服务集成,您可以使用以下方法:
systemd 服务单元文件:创建一个新的 systemd 服务单元文件,例如 /etc/systemd/system/my_service.service,并添加以下内容:
[Unit]
Description=My custom service
[Service]
Type=simple
ExecStart=/usr/bin/nohup /path/to/your/command --option1 --option2 &
Restart=on-failure
[Install]
WantedBy=multi-user.target
将 /path/to/your/command 替换为您要运行的命令,--option1 --option2 替换为命令行参数。然后执行以下命令启用和启动服务:
sudo systemctl daemon-reload
sudo systemctl enable my_service.service
sudo systemctl start my_service.service
supervisord:首先,确保已安装 supervisord:
sudo yum install epel-release
sudo yum install supervisor
然后,创建一个新的配置文件,例如 /etc/supervisord.d/my_service.conf,并添加以下内容:
[program:my_service]
command=/usr/bin/nohup /path/to/your/command --option1 --option2 &
autostart=true
autorestart=true
stderr_logfile=/var/log/my_service.err.log
stdout_logfile=/var/log/my_service.out.log
将 /path/to/your/command 替换为您要运行的命令,--option1 --option2 替换为命令行参数。然后启动 supervisord 服务:
sudo systemctl start supervisord.service
要检查服务状态,请运行:
sudo systemctl status supervisord.service
这些方法可以帮助您将 nohup 命令与其他服务集成,确保在系统启动时自动运行命令,并在发生故障时自动重启。