Ubuntu远程启动后台进程与后台启动图形化进程

本文主要介绍,如何在Ubuntu远程连接服务器、远程启动进程、远程启动后台进程、远程启动后台图形化进程的常规方法。

1. 连接远程Ubuntu

最常用的远程连接方法就是ssh,ssh介绍与使用可以参考SSH原理与运用(一):远程登录
用下面的命令可以直接连接远程的机器

ssh user@host

2. 远程启动后台进程

正常情况下,通过ssh连接上远程机器以后,执行命令,启动进程都没有什么问题。但是如果关闭了ssh窗口,这些启动的进程会自动关闭。
关闭ssh窗口-->关闭session会话-->触发SIGHUP信号-->关闭ssh窗口启动的所有进程
解决方法,可以通过nohup或者screen方式实现ssh关闭而进程不退出

nohup

nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。
例如:后台启动一个node进程

nohup node &

nohup很容易使用,简答的命令启动都没有什么问题,但是对于复杂的需要交互的命令就比较麻烦了,例如,关闭了ssh窗口,但是下次再登录进来的时候,还是想恢复上次的进程交互方式,通过nohup就不能实现,可以通过screen实现

screen

例如:同样上面的方式我们启动一个node进程

screen node

image.png

现在关闭ssh窗口,另外新启动一个ssh窗口,在窗口中输入screen -ls查看目前子界面的状态
image.png

从图片上可以看到所有的子界面的状态,现在通过screen -r 4751进入我们刚才关闭的node进程(4751是我们刚才启动的node进程),输入过上面的命令以后,命令行窗口会回到我们之前关闭的node进程的状态,如下图:
image.png

3. 启动图形化进程

对于远程启动的程序,有时候我们并不关心程序是否有图形化界面(比如自动化测试),只要程序能够运行就可以了。xvfb工具提供了这个功能。
Xvfb 是什么呢,他的名称是 virtual framebuffer X server for X Version 11, Xvfb 可以直接处理Window 的图形化功能,并且不会把图像输出到屏幕上,也就是说,就算你的电脑没有启动 Xwindow , 你仍然可以执行任何图形程式。详细可以参考维基百科Xvfb
安装xvfb

sudo apt-get install xvfb

运行xvfb-run 常用命令


image.png

例如:
我们通过ssh启动一个chromium浏览器
提示不能打开,如下图


image.png

下面通过
通过xvfb-run启动浏览器,命令如下

xvfb-run --auto-servernum --server-args="-screen 0 1280x760x24" chromium-browser 

浏览器启动成功,如下图


image.png

你可能感兴趣的:(Ubuntu远程启动后台进程与后台启动图形化进程)