6 linux下程序开机自动重启

本文详细介绍了如何使用root账号配置启动脚本,包括创建脚本文件、编辑内容以及修改权限的过程,并解释了运行级别的概念及其作用。

配置启动脚本

1.     使用root账号进启动配置文件夹/etc/init.d

[root@localhost init.d]# cd/etc/init.d

2.     创建脚本文件start_ps(这个文件名可以任意),并编辑

#!/bin/bash

cd /home/nathan/exe_file/installation_locateserver

./run.sh

3.     修改start_ps的权限

[root@localhost init.d]# chmod 755start_ps

运行级别

不同的运行级定义如下 

# 0 – 停机(千万不能把initdefault 设置为0  
# 1 –
单用户模式                                    # s   init s = init 1 
# 2 –
多用户,没有 NFS 
# 3 –
完全多用户模式(标准的运行级
# 4 –
没有用到 
# 5 – X11
多用户图形模式(xwindow) 
# 6 –
重新启动(千万不要把initdefault 设置为6  

 

1.     查看运行级别

[root@localhost init.d]# runlevel

N 5

2.     配置n3的启动

[root@localhost rc3.d]# cd/etc/rc3.d

[root@localhost rc3.d]# ln -s/etc/init.d/start_ps S99ps

3.     配置n5的启动

[root@localhost rc3.d]# cd /etc/rc5.d

[root@localhost rc3.d]# ln -s/etc/init.d/start_ps S99ps

### Linux环境下监控Java应用程序并实现自动重启 #### 使用Shell脚本与Crontab组合方式 对于Linux环境下的Java应用,可以利用简单的Shell脚本来完成对指定端口的服务检测以及异常情况下的自动拉起操作。具体来说: 编写一个名为`monitor.sh`的Shell文件用于定期检查目标服务的状态,并在其不可用时尝试重新启动它[^3]。 ```bash #!/bin/bash # 设置JDK路径和其他必要的环境变量 JAVA_HOME=/usr/local/SDK/Java/jdk1.8.0_221 CLASSPATH=.:$JAVA_HOME/lib/tools.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH title="gateway-10080" cd /usr/cwzy/admin || exit if ! pgrep -f "$title" > /dev/null; then echo "Service $title not running, restarting..." nohup java -Dfile.encoding=UTF-8 -jar -Xms800m -Xmx1024m blade-gateway.jar --server.port=10080 --spring.profiles.active=dev >/dev/null 2>&1 & fi ``` 此段代码首先设置了所需的环境参数,接着切换至工作目录;之后通过`pgrep`命令查找是否存在匹配名称(`$title`)正在运行中的进程实例——如果不存在,则认为该服务已停止并将执行相应的恢复措施即再次调用`nohup`来后台启动新的实例。 为了使上述逻辑能够持续生效,在系统中配置定时任务是非常重要的一步。这可以通过编辑用户的crontab计划表来达成目的,比如让这个自定义的任务每隔一分钟就触发一次检查动作[^2]: ```bash */1 * * * * sh /home/sh/monitor.sh ``` 这样做的好处是可以及时发现任何意外终止的情况并迅速作出响应,从而保障业务连续性和稳定性。 #### 开机自启设置 为了让这套机制更加完善可靠,还可以考虑将其加入系统的初始化过程中去,确保即使服务器本身发生过重启也能继续发挥作用。除了传统的修改`rc.local`方法之外,现代Linux发行版更推荐的做法是借助于`chkconfig`工具来进行管理[^4]: ```bash chkconfig --add monitor.sh chkconfig monitor.sh on ``` 以上就是一种较为完整的解决方案框架,适用于大多数场景下的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值