我想在通电时运行一些代码Beaglebone black
而不做任何事情。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
是我要运行的脚本
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 -e
root 身份登录。
为了找到问题的根源(无论是 cron 还是脚本),可以创建一个更简单的情况用于调试目的:
@reboot date >> /root/a
首先,在之后添加诸如或类似的行作为 cron 作业crontab -e
如果它有效(〜将日期/时间附加到文件“/root/a”),则该行将保存到具有相同所有权和权限(
-rwxr-xr-x 1 root root
)的bash脚本中,例如:#!/usr/bin/sh date >> /root/a