问题
想开机时自动执行一个shell脚本(shell脚本就两句话),按照网上讲的。
把脚本放到/etc/init.d文件夹里,设置好环境变量和加入执行权限。没用!
在/etc/init.d/rc.local里添加执行该脚本代码。没用!
弄了一下午了,知道的烦请告知一声。
代码
#! /bin/bash
/usr/local/hive/bin/hive --service metastore &
解决方案
换成/etc/rc.local这个文件就可以执行了。因为/etc/init.d/rc.local中已经说到,若/etc/rc.local存在则不会执行/etc/init.d/rc.local。
把需要的环境变量添加到这个文件并且加入执行脚本指令,便可以发现脚本执行成功了。由于脚本是由root执行,而我是用非root账号登录,因此直接jps看不到hive metastore是否已经在运行。
查看进程命令:
ps aux | grep "hive"
echo passwords|sudo -S /usr/local/hive/bin/hive --service metastore &