一. 代码
nohup python my.py >> /usr/local/python/xxf/my.log 2>&1 &
nohup tomcat.sh > /dev/null 2>&1 &
二.nohup命令
  1. nohup指不断地运行,是no hang up的缩写,指不间断,不挂断。运行一个进程的时候,不想让其在你退出账号时关闭,即可用nohup。
  2. nohup在不规定的情况下,所以输出内容会到nohup.out中
三.2>&1
  1. 0 表示stdin标准输入,用户键盘输入的内容
    1 表示stdout标准输出,输出到显示屏的内容
    2 表示stderr标准错误,报错内容
  2. 2>&1是一个整体,>左右不能有空格,即将错误内容重定向输入到标准输出中去。
四. 整体意义及&
  1. &为后台运行
  2. 第一条代码,以python环境不间断的运行my.py这个脚本,并且将脚本输出的内容重定向输入my.log中(>>意为追加,如果用>会让其中的内容清空)
    my.py >> my.logmy.py 1>>my.log相同,只是1(标准输入)被省略了,而后面的my.log 2>&1 又将2(错误内容)输入到标准输出,然后前面的标准输出又输入到my.log中,意思错误和标准内容都会输出到my.log中,其实代码可拆成两块。
nohup python my.py 1>> /usr/local/python/xxf/my.log &
nohup python my.py 2>> /usr/local/python/xxf/my.log &
  1. 上面代码就是将错误和标准都输出到my.log,最初的代码只是简化了。
    而加2>&1中的&是为了区别文件1和1(标准输出),假如为2>1,那么不就成了将错误内容输出到文件1中。
  2. nohup tomcat.sh > /dev/null 2>&1 &也是一样的,将错误和标准全部丢入/dev/null中,全部销毁。
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐