求助一个Debian Linux 下开机自动启动脚本无法进入系统的问题,谢谢!
问题描述: 我在学习使用Debian Linux,自己写了一个名为button.sh 的shell脚本,并把它放在了/etc/init.d 下使用命令:$sudo update-rc.d button.sh defaults将button.sh设置为了开机自启动,可能是因为我在button.sh里面使用了while 死循环的缘故,开机后系统一直处于button.sh脚本运行状态,无法进入系统,也无法通过【Ctrl+z】或【Ctrl+c】的方式终止脚本运行,我知道在系统中运行,通过命令#./button.sh &的方式可以把脚本变作后台运行,问题一: 不知道开机自启动中要如何设置才能使自启动的软件实现后台运行?问题二: 我使用的这种while死循环的方式不断坚持外界按钮的状态,很耗资源,虽然在代码中添加了一定延时之后资源占用降低了不少,但仍然觉得这种处理方式很不好,中断是一种很不错的选择,但是我在网上搜到的都是c的中断方法,不知道shell有没有相关的用法?财富值只有这么一点了,略显寒酸,望高手不吝赐教~ 谢谢~while :do #button state judgment button_state=$(cat ⼀sys⼀class⼀gpio⼀gpio24⼀value) if [ $button_state -eq 1 ];then echo "$(date) Button State Is Down" echo ------------------------------------------------------------ button_state=$(cat ⼀sys⼀class⼀gpio⼀gpio24⼀value) while [ $button_state -eq 1 ] do button_state=$(cat ⼀sys⼀class⼀gpio⼀gpio24⼀value) done fi sleep 0.1done