在 CentOS 系统中,nohup
命令用于在用户退出登录后继续运行指定的命令或脚本。为了确保进程在系统重启后仍然运行,你可以结合使用 nohup
和 &
将进程放入后台运行,并将输出重定向到一个文件中。此外,你还可以使用 systemd
服务来管理这些进程,以确保它们在系统重启后自动启动。
以下是使用 nohup
和 &
的方法:
使用 nohup
命令运行你的脚本或命令,并将输出重定向到一个文件中:
nohup your_command > output.log 2>&1 &
这样,即使你退出登录,进程也会继续运行,并且输出会被记录到 output.log
文件中。
确保进程在后台运行:
&
符号将命令放入后台运行,这样你就可以立即返回到命令行提示符。
检查进程是否在运行:
你可以使用 ps
命令来检查进程是否在运行:
ps aux | grep your_command
如果你希望进程在系统重启后自动启动,可以使用 systemd
服务来实现:
创建一个新的 systemd
服务单元文件:
sudo vi /etc/systemd/system/your_service.service
在服务单元文件中添加以下内容:
[Unit]
Description=Your Service Description
After=network.target
[Service]
ExecStart=/path/to/your_command
Restart=always
User=your_username
Group=your_groupname
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=your_service_name
[Install]
WantedBy=multi-user.target
保存并关闭文件,然后重新加载 systemd
配置:
sudo systemctl daemon-reload
启用服务,使其在系统启动时自动运行:
sudo systemctl enable your_service.service
启动服务:
sudo systemctl start your_service.service
检查服务状态:
sudo systemctl status your_service.service
通过这种方式,你可以确保你的进程在系统重启后自动启动,并且不会受到系统重启的影响。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>