Sag*_* Sm 7 debian startup beagleboneblack
我有一个a.out,我想我的时候运行BeagleBone开机.它实际上是一个套接字服务器,我想在BeagleBone启动时立即启动它.我试着把它放进去/etc/init.d,但它没有帮助.我写了一个shell脚本来运行这个可执行文件,但即使这样也无济于事.
如何在脚本启动后立即运行脚本,我该怎么办?
小智 11
我花了很长时间才弄明白这一点,但经过大量的研究,我终于找到了我想要的东西.
编译所需的代码.
创建一个bash脚本,该脚本将在启动/启动时启动代码
cd /usr/bin/
Run Code Online (Sandbox Code Playgroud)
类型 nano scriptname.sh
#!/bin/bash
/home/root/name_of_compiled_code
Run Code Online (Sandbox Code Playgroud)
保存并授予执行权限
chmod u+x /usr/bin/scriptname.sh
Run Code Online (Sandbox Code Playgroud)创建服务
nano /lib/systemd/scriptname.service
Run Code Online (Sandbox Code Playgroud)根据需要编辑上述文件以调用网络等不同功能.仅在代码需要该特定服务时才启用它们.禁用不需要的以减少启动时间.
[Unit]
Description=description of code
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/usr/bin/scriptname.sh
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)创建一个符号链接,让设备知道服务的位置.
cd /etc/systemd/system/
ln /lib/systemd/scriptname.service scriptname.service
Run Code Online (Sandbox Code Playgroud)使systemd重新加载配置文件,立即启动服务(有助于查看服务是否正常运行)并启用命令行中指定的单元文件.
systemctl daemon-reload
systemctl start scriptname.service
systemctl enable scriptname.service
Run Code Online (Sandbox Code Playgroud)立即重启BBB以查看它是否按预期运行.
reboot
Run Code Online (Sandbox Code Playgroud)(所有功劳都归功于http://mybeagleboneblackfindings.blogspot.com/2013/10/running-script-on-beaglebone-black-boot.html)
| 归档时间: |
|
| 查看次数: |
14073 次 |
| 最近记录: |