如何开启
1.nohup
用途:不挂断地运行命令。
语法:nohup Command [ Arg … ] [ & ]
无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。
如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。
退出状态:该命令返回下列出口值:
126 可以查找但不能调用 Command 参数指定的命令。
127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。
否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
2.&
用途:在后台运行
一般两个一起用
nohup command &
举个例子:
nohup python3 main.py >> main.log 2> &1 &
0:代表 – stdin (standard input)标准输入
1: 代表– stdout (standard output)标准输出
2 :代表– stderr (standard error) 标准错误
2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到main.log文件中。
0 22 * * * /usr/bin/python /home/pu/download_pdf/download_dfcf_pdf_to_oss.py > /home/pu/download_pdf/download_dfcf_pdf_to_oss.log 2>&1
这是放在crontab中的定时任务,晚上22点时候怕这个任务,启动这个python的脚本,并把日志写在download_dfcf_pdf_to_oss.log文件中
此时查看进程:
可见服务已经正常在后台运行了!
如何关闭:
第一种方法:jobs -l
此下方出现了正在运行的进程pid
运行 kill -9 [想要关闭的进程的pid]即可关闭进程
第二种方法:ps -ef | grep python3 | ps -aux | grep python3 ....
可见和上面的方法得到了一样的结果
第三种方法:lsof -i tcp:8888
通过查询端口的方式一样可以得到进程号!