Linux下让进程在后台可靠运行的方法

在登录到Linux服务器后运行某程序,之后断开连接,那之前运行的程序就会被中止掉。这是由于新进程默认都是当前进程的子进程,断开连接关闭当前终端就会把它的所有子进程都结束掉。不过很多时候我们需要让程序稳定的一直运行下去,这时候就需要使用一些方法来处理此问题了。IBM有一篇很好的文章深入探讨了此问题,本文就是对它的简化总结:

Linux 技巧:让进程在后台可靠运行的几种方法

SSH连接自动断开的解决方法

使用SSH连接远程服务器时,如果长时间不操作,SSH连接上就没有数据传输,此时连接会自动断开,常见的错误提示是:

1
Write failed: Broken pipe

这种超时断开机制估计是出于安全考虑设计的,不过这也会对正常使用造成一定影响,需要进行一些设置来避免这一问题。

VMware中收缩Linux虚拟机体积

虚拟机使用一段时间后体积会越来越大,特别是进行了大程序编译等很占空间的行为后,虚拟磁盘文件经常会占用数十G的空间。而且就算之后删除了无用文件,虚拟磁盘文件的体积也不会自动缩小。此时就需要借助VMware Tools进行磁盘空间收缩。

VMware Ubuntu虚拟机中为终端配置Shadowsocks代理

很多常用的终端命令操作是需要联网的,比如git clone等,然而由于墙的存在,很多像Github这样的网站访问可靠性极差,或者直接就无法访问,这时候就需要梯子了……只使用浏览器时很简单,Chrome SwitchyOmega + Shadowsocks的方案很完美,不过涉及到终端命令时这种方案就无能为力了,此时需要使用其它一些方法来解决。

OpenCV与Qt结合使用

OpenCV本身能生成的GUI界面极为简陋,故一般使用MFC或Qt等框架来搭建GUI界面,并将OpenCV嵌入进去。因为我之前也用过Qt,故此处选择了Qt作为GUI框架,二者结合的主要问题在于图片的显示上,本文就以最新的OpenCV3及Qt5为例介绍一下实现方法。

VS2015搭建Qt 5.7开发环境

Qt自带的IDE Qt Creator还是比较好用的,如果只开发纯粹的Qt程序使用Creator很方便。不过很多时候Qt只是作为GUI接口,程序的核心其实是其他部分,比如我在项目中用到的OpenCV等,这时如果能将Qt集成到VS中使用会更方便。本文以最新版的Qt 5.7及VS2015为例介绍集成方法。