[vyřešeno] Spustit program po startu

Zdravím.

Mám program v C, který bych rád spouštěl po každém zapnutí počítače. Zkoušel sem asi všechny způsoby jak toho docílit, které se dají na internetu dohledat: systemd service, init.d/, rc.local, .config/autorun/run.desktop ani jeden neufungoval.

Jak docílím toho aby se mi po spuštění PC nastartoval program a běžel až do vypnutí?

Jde o to jaky to je program, s jakymi pravy ma bezet a zda je idealne napsan jako demon, pokud to je demon, nebo zda se takto pokousis poustet desktopovou aplikaci (coz je nesmysl).

Pokud uvedes, co konkretne si zkousel pro systemd - napsat unitu ve ktere je exec je dost primitivni vec, treba nekdo poradi. Stejne primitivni je zalozit skript /etc/rc.d/rc.local a do nej napsat /cesta/k/memu/programu/v/C.

Co přesně jsem zkoušel pro systemd si nepamatuju, použil jsem nějaký template z githubu a moc jsem nezkoumal co a jak, chtěl sem něco jednoduchého. V /etc/rc.d/rc.local mám cestu k souboru který se má spustit a nic se neděje.

Program je napsán jako démon, čte z /proc/ filesystému a zapisuje na disk jednou za čas. Má měřit přenesená data. Funguje jak má když ho pustím z terminálu, ale po bootu mi nejde spustit.

Co presne mas v tom rc.local?

Ah… koukam systemd z toho udelal “servis”:
systemctl enable rc-local.service

Už sem to vyřešil, přesně to systemctl enable… mi chybělo :slight_smile: plus mě zmátlo, že služba, která se takhle nastartuje nemá svůj vlastní proces.

Když ten program spustím manuálně, v procesech mám proces co se jmenuje “data_daemon”. Když se spustí z rc-local, nic takvýho tam není. Tudíž sem byl v přesvědčení, že nefunguje. Chyba byla na mojí straně - nedostatek průzkumu a málo logů :).