1、运行.sh文件
直接用./sh 文件就可以运行,然则若是想后台运行,纵然关闭当前的终端也可以运行的话,需要nohup下令和&下令。
(1)&下令
功效:加在一个下令的最后,可以把这个下令放在后台执行
(2)nohup下令
功效:不挂断的运行下令
2、查看当前后台运行的下令
有两个下令可以用,jobs和ps,区别是jobs用于查看当前终端后台运行的义务,换了终端就看不到了。而ps下令用于查看瞬间历程的动态,可以看到其余终端运行的后台历程。
(1)jobs下令
功效:查看当前终端后台运行的义务
jobs -l选项可显示当前终端所有义务的PID,
jobs的状态可以是running,stopped,Terminated。+ 号示意当前义务,- 号示意后一个义务。
(2)ps下令
功效:查看当前的所有历程 ps -aux |
grep
“test.sh”
#a:显示所有程序 u:以用户为主的花样来显示 x:显示所有程序,不以终端机来区分
3、关闭当前后台运行的下令
kill下令:竣事历程 (
1)通过jobs下令查看jobnum,然后执行
kill %jobnum (
2)通过ps下令查看历程号PID,然后执行
kill %PID 若是是前台历程的话,直接执行 Ctrl+c 就可以终止了
4、前后台历程的切换与控制
(1)
fg下令 功效:将后台中的下令调至前台继续运行 若是后台中有多个下令,可以先用
jobs查看jobnun,然后用
fg %jobnum 将选中的下令调出。 (2)Ctrl + z 下令 功效:将一个正在前台执行的下令放到后台,而且处于暂停状态 (3)
bg下令 功效:将一个在后台暂停的下令,酿成在后台继续执行 若是后台中有多个下令,可以先用
jobs查看jobnum,然后用
bg %jobnum 将选中的下令调出继续执行。
5、运行Python示例
[root@xxxxx nlp]#
nohup
python
-u
jbabs
.py >
out
.log 2>&1 &
[1] 20087
[root@xxxxx nlp]#
jobs
[1]+
Running
nohup
python
-u
jbabs
.py >
out
.log 2>&1 &
运行一个Python剧本,通常设置如下
$ python /data/python/server.py >python.log &
说明:
1、 > 示意把尺度输出(STDOUT)重定向到 谁人文件,这里重定向到了python.log
2、 & 示意在后台执行剧本
这样可以到达目的,然则,我们退出shell窗口的时刻,必须用exit下令来退出,否则,退出之后,该历程也会随着shell的消逝而消逝(退出、关闭)
使用nohup(not hang up):
$ nohup python /data/python/server.py > python.log3 2>&1 &
说明:
1、1是尺度输出(STDOUT)的文件描述符,2是尺度错误(STDERR)的文件描述符
1> python.log 简化为 > python.log,示意把尺度输出重定向到python.log这个文件
2、2>&1 示意把尺度错误重定向到尺度输出,这里&1示意尺度输出 , 为什么需要将尺度错误重定向到尺度输出的缘故原由,是由于尺度错误没有缓冲区,而STDOUT有。 这就会导致 commond > python.log ,2> python.log 文件python.log被两次打开,而STDOUT和 STDERR将会竞争笼罩,这一定不是我门想要的
3、好了,我们现在可以直接关闭shell窗口(我用的是SecureCRT,用的比较多的另有Xshell),而不用再输入exit这个下令来退出shell了
$ ps aux|grep python
tomener 1885 0.1 0.4 13120 4528 pts/0 S 15:48 0:00 python /data/python/server.py
tomener 1887 0.0 0.0 5980 752 pts/0 S+ 15:48 0:00 grep python
在当我们直接关闭shell窗口,再连接上服务器,查看Python的历程,发现历程还在
然则,在python运行中却查看不到输出!
由于:
python的输出有缓冲,导致python.log3并不能够马上看到输出。
使用-u参数,使得python不启用缓冲。
kill -STOP 1234 将该历程暂停。
若是要让它恢复到后台,用 kill -CONT 1234(许多在前台运行的程序这样是不行的)
若是要恢复到前台,请在那时运行该历程的谁人终端用jobs下令查询暂停的历程。
然后用 fg 〔job号〕把历程恢复到前台。
以是矫正下令,就可以正常使用了
$ nohup python3 -u crawl_spider.py > out.log
2>&
1 &
在当前
shell
里查看后台义务:jobs
把后台的义务拉到前台运行:
fg %义务号 默认义务1
使用 crl + z 是义务暂停并挂载到后台
使用 bg %义务号 使义务在后台运行
__EOF__
原文链接:
本站声明:网站内容来源于网络,若有侵权,请联系我们,我们将及时处理。
,
1、运行.sh文件
直接用./sh 文件就可以运行,然则若是想后台运行,纵然关闭当前的终端也可以运行的话,需要nohup下令和&下令。
(1)&下令
功效:加在一个下令的最后,可以把这个下令放在后台执行
(2)nohup下令
功效:不挂断的运行下令
2、查看当前后台运行的下令
有两个下令可以用,jobs和ps,区别是jobs用于查看当前终端后台运行的义务,换了终端就看不到了。而ps下令用于查看瞬间历程的动态,可以看到其余终端运行的后台历程。
(1)jobs下令
功效:查看当前终端后台运行的义务
jobs -l选项可显示当前终端所有义务的PID,
jobs的状态可以是running,stopped,Terminated。+ 号示意当前义务,- 号示意后一个义务。
(2)ps下令
功效:查看当前的所有历程 ps -aux |
grep
“test.sh”
#a:显示所有程序 u:以用户为主的花样来显示 x:显示所有程序,不以终端机来区分
3、关闭当前后台运行的下令
kill下令:竣事历程 (
1)通过jobs下令查看jobnum,然后执行
kill %jobnum (
2)通过ps下令查看历程号PID,然后执行
kill %PID 若是是前台历程的话,直接执行 Ctrl+c 就可以终止了
4、前后台历程的切换与控制
(1)
fg下令 功效:将后台中的下令调至前台继续运行 若是后台中有多个下令,可以先用
jobs查看jobnun,然后用
fg %jobnum 将选中的下令调出。 (2)Ctrl + z 下令 功效:将一个正在前台执行的下令放到后台,而且处于暂停状态 (3)
bg下令 功效:将一个在后台暂停的下令,酿成在后台继续执行 若是后台中有多个下令,可以先用
jobs查看jobnum,然后用
bg %jobnum 将选中的下令调出继续执行。
5、运行Python示例
[root@xxxxx nlp]#
nohup
python
-u
jbabs
.py >
out
.log 2>&1 &
[1] 20087
[root@xxxxx nlp]#
jobs
[1]+
Running
nohup
python
-u
jbabs
.py >
out
.log 2>&1 &
运行一个Python剧本,通常设置如下
$ python /data/python/server.py >python.log &
说明:
1、 > 示意把尺度输出(STDOUT)重定向到 谁人文件,这里重定向到了python.log
2、 & 示意在后台执行剧本
这样可以到达目的,然则,我们退出shell窗口的时刻,必须用exit下令来退出,否则,退出之后,该历程也会随着shell的消逝而消逝(退出、关闭)
使用nohup(not hang up):
$ nohup python /data/python/server.py > python.log3 2>&1 &
说明:
1、1是尺度输出(STDOUT)的文件描述符,2是尺度错误(STDERR)的文件描述符
1> python.log 简化为 > python.log,示意把尺度输出重定向到python.log这个文件
2、2>&1 示意把尺度错误重定向到尺度输出,这里&1示意尺度输出 , 为什么需要将尺度错误重定向到尺度输出的缘故原由,是由于尺度错误没有缓冲区,而STDOUT有。 这就会导致 commond > python.log ,2> python.log 文件python.log被两次打开,而STDOUT和 STDERR将会竞争笼罩,这一定不是我门想要的
3、好了,我们现在可以直接关闭shell窗口(我用的是SecureCRT,用的比较多的另有Xshell),而不用再输入exit这个下令来退出shell了
$ ps aux|grep python
tomener 1885 0.1 0.4 13120 4528 pts/0 S 15:48 0:00 python /data/python/server.py
tomener 1887 0.0 0.0 5980 752 pts/0 S+ 15:48 0:00 grep python
在当我们直接关闭shell窗口,再连接上服务器,查看Python的历程,发现历程还在
然则,在python运行中却查看不到输出!
由于:
python的输出有缓冲,导致python.log3并不能够马上看到输出。
使用-u参数,使得python不启用缓冲。
kill -STOP 1234 将该历程暂停。
若是要让它恢复到后台,用 kill -CONT 1234(许多在前台运行的程序这样是不行的)
若是要恢复到前台,请在那时运行该历程的谁人终端用jobs下令查询暂停的历程。
然后用 fg 〔job号〕把历程恢复到前台。
以是矫正下令,就可以正常使用了
$ nohup python3 -u crawl_spider.py > out.log
2>&
1 &
在当前
shell
里查看后台义务:jobs
把后台的义务拉到前台运行:
fg %义务号 默认义务1
使用 crl + z 是义务暂停并挂载到后台
使用 bg %义务号 使义务在后台运行