在Linux系统中,有多种方式可以启动和管理进程。下面我将详细介绍这些方法及其适用场景。
最简单的方式是直接在终端执行命令:
/path/to/program [arguments]
./script.sh # 当前目录下的脚本
/usr/bin/program # 绝对路径执行
在命令末尾添加 & 符号使进程在后台运行:
/path/to/program &
防止进程因终端关闭而被终止:
nohup /path/to/program &
将已启动的进程从当前shell中分离:
/path/to/program &
disown -h %1
systemctl start service_name # 启动服务
systemctl enable service_name # 设置开机自启
systemctl status service_name # 查看状态
service service_name start # 启动服务
chkconfig service_name on # 设置开机自启
start service_name
stop service_name
screen -S session_name # 创建新会话
screen -r session_name # 恢复会话
tmux new -s session_name # 创建新会话
tmux attach -t session_name # 恢复会话
编辑crontab:
crontab -e
添加如下的定时任务:
* * * * * /path/to/program
单次定时执行:
at now + 5 minutes
at> /path/to/program
at> Ctrl+D
在新会话中启动进程:
setsid /path/to/program
(/path/to/program &)
替换当前shell执行程序:
exec /path/to/program
docker run -d image_name
podman run -d image_name
sudo -u username /path/to/program
runuser -l username -c '/path/to/program'
选择哪种启动方式取决于您的具体需求,如进程是否需要长期运行、是否需要终端交互、是否需要高可靠性等。