centos7 关闭ssh连接后仍执行程序以及关闭程序
格式为 nohup command &
nohup java -jar jiaotou.jar &
重定向到其他文件
nohup java -jar jiaotou.jar > myout.file 2>&1 &
nohup java -jar jiaotou.jar >/dev/null &
nohup java FileTest > /dev/null 2>&1 &
nohup java -Xms256m -Xmx256m -jar /app_springcloud/service-feign.jar --spring.profiles.active=prod >/dev/null &
nohup:不挂断地运行命令,退出帐户之后继续运行相应的进程。
2>&1:2就是标准错误,1是标准输出,该命令相当于把标准错误重定向到标准输出么。这里&相当于标准错误等效于标准输出,即把标准错误和标准输出同时输出到指定的“日志文件名.log”文件中。
最后的&:让改作业在后台运行
ps -aux|grep jiaotou.jar
假设查到进程id为7751
kill -9 7751
spirnboot设置为centos系统服务
增加以下配置可以直接执行springboot服务
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.5.2.RELEASE</version>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
打包好的应用程序安装成一个init.d 服务
ln -s /app/funda/funda.jar /etc/init.d/funda
检查链接是否建立成功
ls -l /etc/init.d/funda
service funda start
service funda status
service funda stop
问题解决
Unable to find Java
ln -s /usr/local/jdk1.8.0_131/bin/java /sbin/java
env: /etc/init.d/redis: Permission denied
chmod a+x /etc/init.d/redis
centos执行脚本
杀死springboot服务
ps aux | grep jiaotou.jar | grep -v grep | awk -F’ ’ {‘print $2’} |xargs kill -9
chmod a+x /etc/init.d/redis
#!交投项目更新脚本
#for((i=0;i<3;i++));do
#echo $i
#sleep 1
ps aux | grep jiaotou.jar | grep -v grep | awk -F' ' {'print $2'} |xargs kill -9;
sleep 5;
rm /app/jiaotou.jar;
cp /appTemp/jiaotou.jar /app/;
cd /app/;
nohup java -Xms2048m -Xmx2048m -jar /app/jiaotou.jar > myout.file 2>&1 &
日志按月归档,按天分割
<!--网上设置日志滚动-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/%d{yyyy-MM,aux}/info-%d{yyyy-MM-dd}-%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--<maxFileSize>100MB</maxFileSize>-->
<maxHistory>30</maxHistory>
<!--<totalSizeCap>20GB</totalSizeCap>-->
</rollingPolicy>