CentOS 开机启动

# vim /etc/rc.local 

加入你想在开机后执行的脚本

source /etc/profile

/usr/local/xx.sh

写第一句是想保证在执行脚本前系统环境变量有效,第二句才是真正要执行的东西

其中xx.sh中写的最好是后台运行命令

nohup java -jar /usr/local/xxx.jar >/dev/null 2>&1 &

然后保存

设置/etc/rc.d/rc.local可执行权限

chmod +x /etc/rc.d/rc.local
#chmod +x /etc/rc.local

systemctl enable rc-local

这样重启后才会自动启动

——————————————分割线——————————————

  最后解释一下前边几个命令:

  nohup(not hang up):永久执行,&:后台执行

后边的 >/dev/null 2>&1

首先看一下关于输入输出的解释

操作系统中有三个常用的流:

  0:标准输入流 stdin
  1:标准输出流 stdout
  2:标准错误流 stderr

一般当我们用 > console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法。
 

 由此可知

[command] >file的完整写法是:

[command] 1>file 2>file,也就是说标准输出流和错误输出流都输入到file中;

[command] >/dev/null 2>&1 的完整写法是

[command] 1>/dev/null 2>&1,则代表标准流输出到/dev/null这个文件,错误流输出到标准流(也就是前边的/dev/null)

原文地址:https://www.cnblogs.com/flying607/p/7489283.html