Linux进程断连重新进入该进程方法


Linux进程断连后重新进入该进程

Putty or Xshell

首先推荐这两款软件附下载地址

  • putty
  • Xshell

    设置putty字体和全屏显示连接linux

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    设置成功后就可以进入远程linux系统了。

进入全屏

全屏:Alt + Enter
在这里插入图片描述

linux进程

直接输入python main.py即可调度进行,但是在断开连接后,该进程就会被消除,这很让人头疼。

后台执行

一般运行linux上的程序都是执行 .sh 文件(./sh文件),那如果不影响当前CMD窗口的操作,需要后台运行怎么办呢?

这时就需要借助 nohup 和 & 命令来实现。

nohup python3 main.py &

  1. nohup

加在一个命令的最前面,表示不挂断的运行命令

  1. &

加载一个命令的最后面,表示这个命令放在后台执行

查看后台运行的命令

有两个命令可以来查看,ps 和 jobs。区别在于 jobs 只能查看当前终端后台执行的任务,换了终端就看不见了。而ps命令适用于查看瞬时进程的动态,可以看到别的终端的任务。

  1. jobs 查看后台运行的命令
dogandcat$ jobs
[1]+  Running                 nohup python3 pridict.py &
  1. ps查看进程

    /dogandcat$ ps
      PID TTY          TIME CMD
    20712 pts/6    00:00:00 bash
    20793 pts/6    02:49:24 python3
    22397 pts/6    00:00:00 ps
  2. kill

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

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

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

前后台进程的切换与控制

(1)fg命令

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

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

(2)Ctrl + z 命令

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

(3)bg命令

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

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

演示

  • 首先后台运行一个进程:

在这里插入图片描述

  • 用jobs找到进程号
    在这里插入图片描述
  • fg %1 回到进程
    在这里插入图片描述
    退出:Ctrl + Z

-bg %1 继续执行进程
在这里插入图片描述

尝试断开连接后jobs无法找到进程号

第二次尝试采用GUN Screen

Screen Python3 main.py

创建一个窗口运行python 运行文件
在这里插入图片描述

Screen -ls

在这里插入图片描述
找到屏幕号

screen -r 27884

进入屏幕号

linux远程断联后重新进入该进程

参考


文章作者: 万鲲鹏
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 万鲲鹏 !
评论
  目录