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不启用缓冲。

所以改正命令,就可以正常使用了

$ nohup python -u test.py > out.log 2>&1 &

Linux 后台运行python .sh等程序,以及查看和关闭后台运行程序操作相关推荐

  1. Linux 下后台运行程序,查看和关闭后台运行程序(转载)

    1.运行.sh文件 直接用./sh 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令. (1)&命令 功能:加在一个命令的最后,可以把这 ...

  2. Linux 下后台运行程序,查看和关闭后台运行程序

    1.运行.sh文件 直接用./sh 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令. (1)&命令 功能:加在一个命令的最后,可以把这 ...

  3. 怎么在Linux中后台启动服务,查看和关闭后台运行程序

    1.启动服务 直接用./xxx.py 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令. (1).&命令 功能:加在命令的最后.作用是可 ...

  4. linux查看和关闭后台执行程序

    后台执行的程序会有一个pid,查看后台程序主要用到jobs,ps 关闭后台程序用到kill 详细说明转自http://blog.csdn.net/tianlesoftware/article/deta ...

  5. linux查看 tcp连接对应的程序,轻轻松松查看TCP连接及发起程序

    引子: Windows的mspaint(就是画图)程序未知原因崩溃了,提示用户是否将发送错误报告(Windows7的错误报告服务程序是WerFault.exe)给Microsoft Corporati ...

  6. 运行python嵌入式要求_在嵌入式IPython实例中运行配置文件启动文件

    我发现了一种方法,如果你使用的是django-extensions-shell_plus.这有点老套,但是通过这种方式,你的启动文件是完全自动加载的,你不必在ipython会话开始时输入任何run命令 ...

  7. java 程序更新_如何关闭JAVA更新程序

    Win7系统上安装JAVA JRE或JDK后,系统就会启动一个jusched进程,定时检查JRE或JDK更新包,跟Adobe Reader.FlashPlayer一样烦人,每次开机,或是定时每天去搞个 ...

  8. shell脚本配置运行python程序,小技巧之 Linux 软连接的使用

    shell脚本配置运行python程序,小技巧之 Linux 软连接的使用 实验室的多位博士会在同一台机器上跑python程序,主流的跑程序的方法有两种 使用sh脚本配置路径和程序 直接激活conda ...

  9. python打卡以及Linux自动运行python文件

    python打卡以及Linux自动运行python文件 前因 分析 python代码 实现linux自动运行python文件 了解crond 开机自启设置 定时运行python文件设置 crond踩坑 ...

最新文章

  1. 装饰模式(Decorator Pattern)
  2. Docker对AUFS的使用
  3. linux shell find 命令简介
  4. 35个让人惊讶的 CSS3 动画效果演示
  5. linux常见命令的常用方法示例
  6. 两招让陌生网络访问者现出原形
  7. 数字示波器的激烈竞争
  8. mingw c++ 命令行_Mingw-w64在win10下的安装使用
  9. 小程序源码 租房管理系统_租房小程序解决方案
  10. 浏览器播放rtsp流媒体解决方案
  11. SSH整合报错:找不到元素 'beans' 的声明
  12. stat /bin/bash: no such file or directory“: unknown.
  13. WebView 简单使用方法
  14. 【Photoshop】滤镜详解
  15. 计算机编码知识,ASCII编码,GBK,Unicode,UTF-8编码详细介绍
  16. 网页设计的秘诀:如何用颜色烘托情感
  17. Compiz Fusion 简介
  18. 网络攻防——网络攻击技术分类
  19. 利用阿里大鱼发送短信验证
  20. PYTHON学习之旅1:linux操作系统学习

热门文章

  1. excel查找替换转义问号
  2. Ultimate Retouch 3.7汉化版|影楼终极人像精修磨皮扩展支持CC2019
  3. TI CC2540单片机裸机低功耗 测试
  4. 对学校的希望和寄语_对母校的寄语
  5. 微信小程序使用vant weapp的van-field,输入有内容时,表单校验数据一直为空的问题
  6. 金三银四——一名程序员的java学习心得
  7. linux(redhat)之火狐浏览器的升级(平滑升级)与更新flash 插件
  8. photoshop图片上字体修改
  9. allegro建热风焊盘flash-通孔焊盘示意图
  10. centos su命令