启动时的Shell脚本不会在Raspberry pi上执行

时间:2014-08-28 04:34:09

标签: linux bash raspberry-pi raspbian init.d

我想在运行raspbian wheezy的Raspberry Pi启动后运行以下命令:

  1. sudo gcc -lpthread server.c -o wifiserver.o
  2. sudo ./wifiserver.o
  3. 我创建了以下文件并运行了以下步骤:

    1. 创建了一个名为auto_server_start的脚本文件。

    2. 内容如下:

      #!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
      
    3. 将名为auto_server_start的此文件复制到/etc/init.d/目录,并使用chmod +x添加了执行权限。

    4. 然后sudo update-rc.d auto_server_start defaults

    5. 它给了一些关于mathkernel的警告,但我认为这与我的剧本没有任何关系。

      然而,在软重启时,我检查了ps -e以及top,我的wifiserver进程无处可见。

      请建议。

      PS:我检查过命令gcc./wifiserver.o没有发出任何警告和错误。

1 个答案:

答案 0 :(得分:2)

创建了一个名为auto_server_start的脚本文件。

内容如下:

#!斌/庆典

#/ etc / init.d / auto_server_start

### BEGIN INIT INFO

#提供: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服务器脚本

#说明:启动时启动wifi服务器

### END INIT INFO

案例" $ 1"在

开始)

echo "running server program"

/usr/local/bin/wifiserver.o

;;

停止)

echo "stopping customized script"

;;

*)

echo "Usage: /etc/init.d/auto_server_start start|stop"

exit 1

;; 

ESAC

退出0

将名为auto_server_start的文件复制到/etc/init.d/目录,并使用chmod + x添加执行权限。

然后sudo update-rc.d auto_server_start默认值。