在 beaglebone black 中无需 ssh 即可运行代码

在 beaglebone black 中无需 ssh 即可运行代码

我想在通电时运行一些代码Beaglebone black而不做任何事情。ssh

我尝试放置一些命令来运行~/.bashrc文件中的代码,但它仅在我使用ssh.我对文件尝试过同样的操作/etc/rc.local,但即使在 ssh 之后也不起作用。

我也尝试过@reboot my_commandcrontab -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是我要运行的脚本

root@beaglebone:~# systemctl enable cronie.service
Failed to execute operation: No such file or directory

许可和所有者main

root@beaglebone:~/wiringBone-master/library# ll main 
-rwxr-xr-x 1 root root 66744 May 27 16:15 main

答案1

crontab 就是解决方案。调用方式:

crontab -e

这将打开默认编辑器。添加:

@reboot your command

保存并退出。如果该命令需要超级用户密码,您应该首先sudo su -crontab -eroot 身份登录。

为了找到问题的根源(无论是 cron 还是脚本),可以创建一个更简单的情况用于调试目的:

  • @reboot date >> /root/a首先,在之后添加诸如或类似的行作为 cron 作业crontab -e
  • 如果它有效(〜将日期/时间附加到文件“/root/a”),则该行将保存到具有相同所有权和权限(-rwxr-xr-x 1 root root)的bash脚本中,例如:

    #!/usr/bin/sh
    date >> /root/a
    

相关内容