我想在运行 raspbian wheezy 的 Raspberry Pi 启动后立即运行以下命令:
sudo gcc -lpthread server.c -o wifiserver.o
sudo ./wifiserver.o
我创建了以下文件并运行了以下步骤:
创建了一个名为
auto_server_start
的脚本文件。内容如下:
#!bin/bash # /etc/init.d/auto_server_start ### BEGIN INIT INFO # Provides: auto_server_start # Required-Start: $all # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: wifi server script # Description: Start wifi server at bootup ### END INIT INFO case "$1" in start) echo "running server program" sudo gcc -lpthread server.c -o wifiserver.o sudo ./wifiserver.o ;; stop) echo "stopping customized script" ;; *) echo "Usage: /etc/init.d/auto_server_start start|stop" exit 1 ;; esac exit 0
将此名为
auto_server_start
的文件复制到/etc/init.d/
目录,并使用chmod +x
添加执行权限。然后
sudo update-rc.d auto_server_start默认值
。
它给出了一些关于 mathkernel 的警告,但我认为这与我的脚本没有任何关系。
但是,在软重启时,我检查了 ps -e
以及 top
,但我的 wifiserver
进程没有出现。
请提出建议。
PS:我检查了命令 gcc
和 ./wifiserver.o
没有给出警告和错误。
最佳答案
创建了一个名为 auto_server_start 的脚本文件。
内容如下:
\#!bin/bash
\# /etc/init.d/auto_server_start
\### BEGIN INIT INFO
\# Provides: auto_server_start
\# Required-Start: $all
\# Required-Stop: $remote_fs $syslog
\# Default-Start: 2 3 4 5
\# Default-Stop: 0 1 6
\# Short-Description: wifi server script
\# Description: Start wifi server at bootup
\### END INIT INFO
case "$1" in
start)
echo "running server program"
/usr/local/bin/wifiserver.o
;;
stop)
echo "stopping customized script"
;;
*)
echo "Usage: /etc/init.d/auto_server_start start|stop"
exit 1
;;
esac
exit 0
将名为 auto_server_start 的文件复制到/etc/init.d/目录,并使用 chmod +x 添加执行权限。
然后 sudo update-rc.d auto_server_start 默认值。
关于linux - 启动时的 Shell 脚本在 Raspberry pi 上不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25540776/