Wie übergebe ich beim Autostart von Linux Parameter an ein Programm?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich würde dafür einen Cronjob anlegen.

https://wiki.ubuntuusers.de/Cron/

Im Terminal eingeben:

EDITOR=nano crontab -e

Dann eine Zeile einfügen mit:

@reboot name-des-programms parameter

Wobei du name-des-programms und parameter jeweils durch den Namen des Programms und die Parameter ersetzt.

Also z.B.

@reboot python3 /pfad/zum/programm.py --option1 wert1 --option2 wert2
Woher ich das weiß:Studium / Ausbildung – Informatik
HaiAwe 
Fragesteller
 15.11.2021, 15:17

Dankeschön, das funktioniert. Aber leider nur so halb. Aber das liegt wahrscheinlich an meinem Programm. Wie kann ich mir da eine Fehlerausgabe in der Konsole anzeigen lassen oder ganz generell eine Ausgabe auf der Konsole haben?
Natürlich vorausgesetzt, dass ich es über crontab starte

0
Waldelb3  15.11.2021, 15:38
@HaiAwe

Dafür würdest du die Ausgabe in eine Datei umleiten, und dann die Datei anschauen.

Z.B. so:

@reboot name-des-programms parameter > /pfad/zur/ausgabe/datei
1

Wenns aus irgend welchen Gründen nicht direkt klappt würde ich den Startbefehl des Programms inkl. Parameter einfach in ein Shell-Script packen und dann das Script stattdessen in den Autostart.

Um einfach ein Programm zu starten, kannst Du einen Autostart-Eintrag machen. Wenn es allerdings eine Art Server sein soll, kommst Du um ein systemd script nicht herum. Dort lassen sich auch Parameter übergeben.

HaiAwe 
Fragesteller
 15.11.2021, 13:27

Es soll tatsächlich sowas wie ein Miniserver werden. Warum komm ich da nicht drum rum? Ich hab bereits Programm im Startup gestartet weiß aber nicht wie ich da einen Parameter mit übergeben kann, könntest du mir da ein Beispiel geben?

0

Systemd ist für sowas einfach standard. Vorher gab es Einträge in /etc/init.d

Hier mal ein Beispiel für einen kleinen Server-Prozess

[Unit]
Description=HT3 Data Collector
After=htproxy.service

[Service]
WorkingDirectory=/usr/local/HT3/sw/
ExecStart=/usr/bin/python3 /usr/local/HT3/sw/ht_collgate.py
SyslogIdentifier=HTCOLLGATE
StandardOutput=syslogStandard
Error=syslogRestartSec=3
KillMode=processRestart=on-failure

[Install]
WantedBy=multi-user.target
Alias=ht_collgate.service