美文网首页
ubuntu后台运行程序

ubuntu后台运行程序

作者: 顾子豪 | 来源:发表于2020-10-19 11:00 被阅读0次

1 screen 命令

  • screen 创建新窗口
  • screen -S name 和上面一样,同时取名,方便管理
  • 输入你想要的运行的内容
  • ctrl-a d 先按ctrl+a,再按d,dettach,此时你可以关闭连接了,做自己想做的事情去。
  • screen -ls 查看当前有哪些会话,并显示id
  • screen -r id 恢复会话~~~~
  • screen -S id -X quit 删除会话

参考链接1:https://www.ibm.com/developerworks/cn/linux/l-cn-screen/

参考链接2:https://blog.csdn.net/wangyezi19930928/article/details/50052947

2 nohup 命令

  1. 运行命令

    nohup jupyter notebook &
    
    

    组合使用就能够避免终端关闭、服务器断开等情况导致的模型训练终止

    nohup python file.py > filelog.txt 2>&1 &
    
    

参数解释:

filelog.txt:> 表示把标准输出(STDOUT)重定向到这个文件,这里重定向到了当前目录下的filelog.txt里,若没有此文件会自动生成。若没有特别指定,默认将当前的输出打印在当前目录的nohup.out文件里。

若无2>&1则错误信息不会重定向。
最后的&符号指定让程序后台运行,一定不能省略,否则程序还是运行在前台。
通过 jobs 命令可以看到后台任务的运行状况(running、stopped等),通过 bg [任务号] 可以让后台stopped的命令继续running,通过 fg [任务号] 可以让后台的任务来前台执行。对于前台已经执行起来的任务,可以 ctrl+z 来丢进后台(丢后台时stop了的话用bg让其run起来)。

  1. 搜索相关进程,后面grep -v 是忽略grep自身进程。

    ps -ux | grep jupyter-notebook | grep -v grep
    
    
  2. 结束进程

    kill -9 pid
    

4、关闭当前后台运行的命令
kill命令:结束进程

 (1)通过jobs命令查看jobnum,然后执行   kill %jobnum

 (2)通过ps命令查看进程号PID,然后执行  kill %PID

   如果是前台进程的话,直接执行 Ctrl+c 就可以终止了

5、前后台进程的切换与控制

 (1)fg命令

   功能:将后台中的命令调至前台继续运行

   如果后台中有多个命令,可以先用jobs查看jobnun,然后用 fg %jobnum 将选中的命令调出。

 (2)Ctrl + z 命令

   功能:将一个正在前台执行的命令放到后台,并且处于暂停状态

 (3)bg命令

   功能:将一个在后台暂停的命令,变成在后台继续执行

   如果后台中有多个命令,可以先用jobs查看jobnum,然后用 bg %jobnum 将选中的命令调出继续执行。

参考链接:

相关文章

网友评论

      本文标题:ubuntu后台运行程序

      本文链接:https://www.haomeiwen.com/subject/zcrkmktx.html