linux aarch64 Ubuntu 18.04.5 LTS 开机自启动中某个脚本不生效。

现象描述:

由于ubuntu18.04以后没有开机自启动,从网上找了个教程,按着这个博客操作。尝试了两台机器,开机自启动均成功。但是第三台机器的时候,配置都相同的情况下,总是不成功。第三台的配置是aarch64的ubuntu18.04.5的系统。
博客链接:

http://www.szl724.com/sysmaint/linux-os/3214.html 

问题分析:
为了验证开机启动项是否生效,便把 /etc/rc.local 增加了两行测试代码,在rt.log文件中新增内容,分别在想启动的脚本前后。发现均成功。
单独运行该行脚本命令,也成功执行。

root@ubuntu ~ $ vim /etc/rc.local 
#!/bin/bash
echo `date` >>/tmp/rt.log 2>&1
nohup  /home/ubuntu/workroom/jenkins_agent.sh   >> /home/ubuntu/workroom/runagent.log  2>&1   &
echo "123"  >>/tmp/rt.log 2>&1
~                               
//jenkins_agent.sh 是启动java进程的。

//reboot后查看java进程是存在。
root@ubuntu ~ $ ps uax|grep java
root      5938  0.0  0.0   6100   620 pts/0    S+   15:41   0:00 grep --color=auto java
root@ubuntu ~ $ more /tmp/rt.log 
Tue Sep 28 15:40:04 CST 2021
123
root@ubuntu ~ $ nohup  /home/ubuntu/workroom/jenkins_agent.sh   >> /home/ubuntu/workroom/runagent.log  2>&1   & 
[1] 6549
root@ubuntu ~ $ 
root@ubuntu ~ $ 
root@ubuntu ~ $ ps uax|grep java
root      6553  0.0  0.0   2440  1056 pts/0    D    15:41   0:00 java -jar agent.jar -jnlpUrl http://52.247.199.40:8080/computer/Rlease_aarch64/jenkins-agent.jnlp -secret @secret-file -workDir /home/ubuntu/workroom
root      6578  0.0  0.0   6100   616 pts/0    S+   15:41   0:00 grep --color=auto java

找到原因了,把命令输出的结果打印到lo日志,看log日志是提示java 找不到命令。
配置:ln -s /home/ubuntu/workroom/jdk1.8.0_271/bin/java /usr/bin/java
重启后,java正常启动。
我猜应该是启动过程是先启动这个脚本,再加载java的环境变量,而java是没有在/usr/bin下,所以现实。所以系统启动完成后java命令是可以用的。而在开机启动过程中是找不到java的。