在beaglebone黑色中运行没有ssh的代码

时间:2016-12-15 23:35:23

标签: bash ssh startup beagleboneblack

我想在Beaglebone黑色中运行一些代码,而不需要在执行电源时执行ssh。

我尝试使用一些命令来运行~/.bashrc文件中的代码,但只有在我使用ssh登录时才有效。我在/etc/rc.local文件中尝试过同样的事情,但即使在ssh之后也没有用。

我还在@reboot my_command中尝试了crontab -e,但它也要求我使用ssh登录  有什么建议??

编辑:

root@beaglebone:~# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 8.6 (jessie)
Release:    8.6
Codename:   jessie

root@beaglebone:~# ps aux | grep cron | grep -v grep
root       295  0.0  0.3   4428  1988 ?        Ss   15:03   0:00 /usr/sbin/cron -f

crontab -e的输出:最后几行

root@beaglebone:~# crontab -e
    # For more information see the manual pages of crontab(5) and cron(8)
    #
    # m h  dom mon dow   command


#@reboot /root/wiringBone-master/library/main           not working

#*/5 * * * * /root/wiringBone-master/library/main       works

main是我想要运行的脚本

3 个答案:

答案 0 :(得分:0)

对beagle bone一无所知,但在正常的Linux系统上,您可能会使用init脚本,或者更容易在设置为在引导时运行的cron脚本中执行此操作。

您必须检查您的环境是否支持其中任何一种。即使它没有cron,它也可能正在运行某种init(可能是启动时启动SSH的东西,但是YMMV)。

希望它有所帮助!

答案 1 :(得分:0)

/etc/rc.local是一种快捷方式。确保启动到后台并且不要阻止脚本完成。

编写合适的systemd服务文件会更好。

答案 2 :(得分:0)

crontab -e方法工作!!我的脚本需要两个叠加来执行我没有加载的代码,这就是为什么我的@reboot command不起作用。我通过添加所需的叠加层解决了我的问题。

@reboot config-pin overlay cape-universaln
@reboot config-pin overlay BB-ADC
@reboot /root/wiringBone-master/library/main

现在我的代码可以重启了。