关于rclocal 自启动多个应用问题,关于应用语言学的问题
终极管理员 知识笔记 95阅读
参考关于rc.local 自启动多个应用问题_rc.local启动多个服务-博客
Linux开机rc.local不自启动执行脚本问题的排查思路及问题解决_rc.local文件启动不生效-博客

Ask GPT

如果第一个命令 sudo pppd call dial
不返回并且一直在运行而你需要等待一段时间后执行第二个命令 sudo route add -net 0.0.0.0 ppp0
你可以使用Python来编写一个脚本以便在不同线程中运行这两个命令。Python的threading
模块可用于创建多线程应用。以下是一个Python脚本示例
import subprocessimport threadingimport timedef run_pppd(): # 启动第一个命令 subprocess.call([sudo, pppd, call, dial])def run_route_add(): # 等待一段时间例如10秒这里的时间长度会影响执行确保第一个执行后再执行第二个 time.sleep(30) # 启动第二个命令 subprocess.call([sudo, route, add, -net, 0.0.0.0, ppp0])if __name__ __main__: # 创建两个线程分别运行两个命令 thread1 threading.Thread(targetrun_pppd) thread2 threading.Thread(targetrun_route_add) # 启动线程 thread1.start() thread2.start() # 等待线程结束 thread1.join() thread2.join()
这个Python脚本创建了两个线程一个用于运行第一个命令另一个用于运行第二个命令。你可以根据需要调整等待的时间time.sleep(10)
以确保第一个命令有足够的时间来运行然后再执行第二个命令。
将这个Python脚本保存为一个文件例如run_commands.py然后在系统启动时运行它。确保Python解释器可用因为你会在脚本中使用Python。
piraspberrypi:~ $ sudo gedit /etc/rc.local
# add python ./../.py
piraspberrypi:~ $ systemctl status rc-local #查看执行状态
标签: