为了让logstash的后台服务运行的更优雅一点,这里介绍一种通过screen方式实现logstash的后台一直运行。通过screen命令创建的终端命令,其父进程不是sshd登陆会话,而是screen。这样就可以避免用户退出终端后导致进程消失的问题,然后你还可以随时重新接管回终端继续原来的操作。
首先对这里的环境进行一下说明:
- 系统环境:centos 7;
- JDK版本:java version 1.8.0_91;
- logstash版本:logstash-2.2.2
使用screen命令的第一步是安装screen,所以我们需要执行的步骤包括:
- 安装screen;
- 创建screen;
- 接管screen;
- 运行logstash;
- 退出窗口;
下面正式开始:
一.安装screen
这里我们将screen的安装过程分为在线安装和离线安装,具体如下:
1.在线安装screen
首先查看是否已安装:
rpm -qa|grep screen
没有安装的话使用如下命令进行安装:
yum install screen
2.离线安装
离线安装的方式需要我们到[这里]进行下载安装包,然后执行如下命令进行安装:
rpm -ivh screen-4.1.0-0.21.20120314git3c2946.el7.x86_64.rpm
二、创建screen
创建一个screen(这里以logstashScreen为例)
screen –dmS logstashScreen
三、接管screen
使用如下命令接管刚刚创建的logstashScreen
screen –r logstashScreen
四、运行logstash
接管logstash之后,你会进行一个跟终端一样的screen窗口,在这个窗口里执行logstash任务即可:
./logstash –f ./configs
五、 退出窗口
执行完logstash任务之后,我们就可以退出screen窗口,让logstash一直在后台运行了,具体步骤是按住ctrl+A+D(即按住ctrl键,再依次按A和D)。之后你随时可以按照步骤三,接管logstash任务窗口了。