2016-12-15 5 views
0

Ich möchte Code in Beaglebone schwarz ausführen, ohne ssh zu tun, wenn ich Energie anlege.Laufender Code ohne ssh in Beaglebone schwarz

Ich habe versucht, einige Befehle zu setzen, um den Code in ~/.bashrc Datei auszuführen, aber es funktioniert nur, wenn ich mich mit ssh anmelden. Ich habe das gleiche mit /etc/rc.local Datei versucht, aber nicht funktioniert auch nach ssh.

Ich habe auch versucht @reboot my_command in crontab -e, aber es erfordert auch mich mit ssh einloggen Irgendwelche Vorschläge ??

EDIT:

[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 

Ausgabe von crontab -e: letzten Zeilen

[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 ist das Skript I

Antwort

0

crontab -e Methode funktioniert !!. Mein Skript benötigte zwei Overlays, um den Code auszuführen, den ich nicht geladen habe. Deshalb funktionierte mein @reboot command nicht. Ich habe mein Problem gelöst, indem ich die erforderlichen Overlays hinzugefügt habe.

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

Und jetzt funktioniert mein Code beim Neustart.

0

ausführen möchten nichts über Beagle Knochen wissen nicht, aber auf ein normales Linux-System, das Sie wahrscheinlich entweder mit einem Init-Skript oder, einfacher, in einem Cron-Skript ausführen, das beim Booten ausgeführt wird.

Sie müssen überprüfen, ob Ihre Umgebung diese beiden unterstützen würde. Selbst wenn es kein Cron hat, führt es wahrscheinlich eine Art Init aus (wahrscheinlich ist es die Sache, die SSH beim Booten startet, aber YMMV).

Hoffe es hilft!

+0

Es unterstützt 'cron' sowie' init'. Kannst du erklären, wie man sie in meinem Fall benutzt? Sagen Sie beim Start "execute_some" -Befehl an "some_location". – Rahul

+0

Wissen Sie, welchen Geschmack von Cron es verwendet? –

+0

http://unix.stackexchange.com/questions/188042/running-a-script-during-boot-startup-init-d-vs-cron-reboot könnte etwas Licht in die Syntax bringen. –

0

/etc/rc.local ist ein schneller Weg. Stellen Sie sicher, dass Sie in den Hintergrund starten und nicht verhindern, dass das Skript beendet wird.

Eine ordnungsgemäße systemd Service-Datei schreiben wäre jedoch besser.

+0

versuchte '/ etc/rc.local' aber hat nicht funktioniert. – Rahul

+0

Zusätzliche Informationen hinzugefügt – Rahul

+0

'Did not work' ist nicht ausreichend. Sie müssen sich zumindest bemühen, zu verstehen, warum * Dinge nicht funktionieren und * genau * posten, was Sie getan haben. Z.B. der rc.Das lokale Skript enthält standardmäßig eine letzte Zeile von 'exit 0' und Sie * müssen * natürlich * Ihre Befehle * davor setzen. – TBR

Verwandte Themen