本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 [署名 4.0 国际 (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/deed.zh) 本文作者: 苏洋 创建时间: 2014年06月17日 统计字数: 540字 阅读时间: 2分钟阅读 本文链接: https://soulteary.com/2014/06/17/centos-background-tasks.html ----- # CentOS 后台执行 基础知识,偷懒记录一下,用的时候翻看好了。 CentOS 有蛮多可以后台执行的辅助命令,诸如:`fg`, `bg`, `jobs`, `&`, `nohup`, `ctrl+z`。 甚至你可以安装类似 `screen` 或者替代品 `tmux` 等等。 不过如果只是为了运行一个任务到后台且保持断开ssh后任务不断,且不想再搭理这个程序(如果它可以一直正常运行),那么使用下面的命令可以很轻松完成: ```bash nohup 你的命令 > /dev/null 2>&1 & ``` 如果你说万一重启了怎么办,或者进程挂了怎么办,那么使用定时任务好了: ```bash #!/bin/bash if ps -ef | grep "你执行的命令的执行文件的关键词,可以被搜索到以及被关闭" | grep -v "grep" then; echo "everything is ok." else echo "try to restart tools." 你的命令 > /dev/null 2>&1 & fi ``` 忘记补 `crontab` 了, 先编辑 `crontab`: ```bash crontab -e ``` 然后比如要1分钟检查一次: ```text */1 * * * * /你的脚本的位置 ``` 最后检查crontab, ```bash tail -f /var/log/cron ```