轮网站开发的重要性,罗湖网站建设优化,儿童主题网站的内容建设,电子商务网站建设书籍一、nohup
nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令#xff0c;忽略所有挂断#xff08;SIGHUP#xff09;信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令#xff0c;添加 #xff08; 表示“and”的符号#xf…一、nohup
nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令忽略所有挂断SIGHUP信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令添加 表示“and”的符号到命令的尾部。
nohup 是 no hang up 的缩写就是不挂断的意思。
nohup命令如果你正在运行一个进程而且你觉得在退出帐户时该进程还不会结束那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。
在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。 1.1案例
1. nohup command myout.file 21
在上面的例子中0 – stdin (standard input)1 – stdout (standard output)2 – stderr (standard error)
21是将标准错误2重定向到标准输出1标准输出1再被重定向输入到myout.file文件中。
2. 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 21
这是放在crontab中的定时任务晚上22点时候怕这个任务启动这个python的脚本并把日志写在download_dfcf_pdf_to_oss.log文件中
案例2
nohup python3 -u socket_test.py my_socket.log 21 开启以后会显示 进程ID 后面可以利用这个ID杀死后台进程 忘记了下面也有办法查询
1. 最后一个“”表示后台运行程序 2. “nohup” 表示程序不被挂起 3. “python3”表示执行python代码 4. “-u”表示不启用缓存实时输出打印信息到日志文件如果不加-u则会导致日志文件不会实时刷新代码中的print函数的信息 5. “socket_test.py”表示python的源代码文件 6. “my_socket.log”表示输出的日志文件 7. “”表示将打印信息重定向到日志文件 8. “21”表示将标准错误输出转变化标准输出可以将错误信息也输出到日志文件中0- stdin, 1-stdout, 2-stderr ps命令
功能查看当前的所有进程 也可以单独查询某个文件开启的进程
ps -aux | grep socket_test.py #a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序不以终端机来区分 Kill命令
功能杀死进程
kill 30598 二、nohup和的区别 指在后台运行
nohup 不挂断的运行注意并没有后台运行的功能就是指用nohup运行命令可以使命令永久的执行下去和用户终端没有关系例如我们断开SSH连接都不会影响他的运行注意了nohup没有后台运行的意思才是后台运行 是指在后台运行但当用户推出(挂起)的时候命令自动也跟着退出
那么我们可以巧妙的吧他们结合起来用就是 nohup COMMAND 这样就能使命令永久的在后台执行
例如
1. sh test.sh 将sh test.sh任务放到后台 即使关闭xshell退出当前session依然继续运行但标准输出和标准错误信息会丢失缺少的日志的输出
将sh test.sh任务放到后台 关闭xshell对应的任务也跟着停止。 2. nohup sh test.sh 将sh test.sh任务放到后台关闭标准输入终端不再能够接收任何输入标准输入重定向标准输出和标准错误到当前目录下的nohup.out文件即使关闭xshell退出当前session依然继续运行。 3. nohup sh test.sh 将sh test.sh任务放到后台但是依然可以使用标准输入终端能够接收任何输入重定向标准输出和标准错误到当前目录下的nohup.out文件即使关闭xshell退出当前session依然继续运行。 参考链接
https://blog.csdn.net/u011095110/article/details/78666833
https://baike.baidu.com/item/nohup/5683841