2016-12-15 24 views
0

我想在Beaglebone黑色中运行一些代码,而无需执行ssh,当我使用电源时。在beaglebone黑色中运行没有ssh的代码

我试过把一些命令运行在~/.bashrc文件中的代码,但它只适用于当我登录使用ssh。我用/etc/rc.local文件尝试过同样的事情,但在ssh之后仍然没有工作。

我也试过@reboot my_commandcrontab -e但它也需要我使用SSH登录 任何建议?

编辑:

输出的
[email protected]:~# lsb_release -a 
No LSB modules are available. 
Distributor ID: Debian 
Description: Debian GNU/Linux 8.6 (jessie) 
Release: 8.6 
Codename: jessie 

[email protected]:~# 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:最后几行

[email protected]:~# 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是我想要运行

回答

0

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

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

现在我的代码在重新启动时工作。

0

不知道小猎犬骨头什么的剧本,但一个普通的Linux系统,你可能会用init脚本来做到这一点,或者更简单的,在cron脚本中设置为在启动时运行。

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

希望它有帮助!

+0

它支持'cron'和'init'。你能解释一下在我的情况下如何使用它们吗?启动时在'some_location'处说'execute_some'命令。 – Rahul

+0

你知道它使用哪种cron的味道吗? –

+0

http://unix.stackexchange.com/questions/188042/running-a-script-during-boot-startup-init-d-vs-cron-reboot可能会对语法有所帮助。 –

0

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

虽然写一个合适的systemd服务文件会更好。

+0

尝试'/ etc/rc.local',但没有奏效。 – Rahul

+0

增加了一些额外的信息 – Rahul

+0

'没有工作'是不够的。你至少需要努力去理解*为什么*这些东西不起作用,并发布*完全*你做了什么。例如。 rc。本地脚本在默认情况下包含最后一行'exit 0',并且您必须*明确*必须在*之前放置您的命令*。 – TBR