这段时间开始使用jenkins的自动集成,但发现个问题

每次我都需要手动启动 “java -jar jenkins.war --httpPort=xxxx”  进程一退出 关闭 ssh连接就完全不能访问

因此经历了各种苦果也了解了下 (本人刚接触linux系统) 发现这个进程是前台进程,当然关了ssh连接就自然被kill了

所以接下来的目的就是——把进程转为后台进程

 

上网查了 nohup  【command]】  & 命令是将进程放后台运行并且登出进程不终止

后来报错 “nohup: ignoring input and appending output to `nohup.out’”  ???文件没有写入权限。。。

解决:nohup 【command】 > /dev/null 2>&1 &

利用了linux重定向 具体看:https://blog.csdn.net/jiangyu1013/article/details/81476184

 

后面的正式解决:

我将命令写进一个脚本(方便)

jenkins.sh  (/root/jenkins 是我的jenkins绝对路径)

#! /bin/bash

## this is a start for jenkins

java -jar /root/jenkins/jenkins.war --httpPort=8081
~                                                                                                                                          
~       

然后进行了

nohup  ./jenkins.sh  > /dev/null 2>&1 &

emmm。。此时还是没成功 后来发现是 执行.sh文件总是提示permission denied 的原因

用root权限输入 chmod  u+x  *.sh 命令 就可以执行脚本啦!(修改文件权限:用户都能对脚本文件进行执行)

 

最后终于欧克啦!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐