小编ble*_*mbo的帖子

在启动时运行命令不起作用(由于运行代码时网络未启动)

我想在 ubuntu 启动时自动运行一个 python 脚本。通常我要做的是在 ubuntu 上打开命令行并输入

python /home/ubuntu/Desktop/UDP_Server.py
Run Code Online (Sandbox Code Playgroud)

这将运行 python 代码,所以我现在可以启动我的其他客户端代码来与之通信。

我想找到一种在启动时自动运行此代码的方法。我尝试在我的/etc/init.d文件中放置一个脚本,我也尝试将其作为启动程序,如下所示。

启动申请

但是当我打开我的计算机时,此代码不会运行..因为它没有像我期望的那样与我的客户端代码进行通信(就像我从命令行运行 python 脚本时那样)

编辑:

在 rc.local 中放置诸如 touch 命令之类的命令似乎在启动时起作用。crontab 也是如此。我添加了一个命令@reboot,它可以工作。但是这个特定的代码在启动时似乎不起作用(无论是我把它放在 crontab、rc.local、init.d 中,还是作为启动应用程序)

下面是我的 UDP 服务器代码

import socket
import serial
import subprocess

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

server_address = (192.168.1.13, 10000)
print 'starting up on %s port %s' % server_address
sock.bind(server_address)

ser = serial.Serial('/dev/ttymxc3', 115200, timeout = 0)
print 'Serial connected'

while True:
    data = sock.recv(7)
    print 'received ', data
    if data == "STOP":
        subprocess.call(["sudo", "shutdown", "-h", …
Run Code Online (Sandbox Code Playgroud)

startup python command-line networking

5
推荐指数
1
解决办法
1580
查看次数

标签 统计

command-line ×1

networking ×1

python ×1

startup ×1