Vraag Hoe beheer ik een Upstart-sessiejob via SSH?


Ik heb behoorlijk wat Upstart-sessietaken, die onder andere Tor starten, een ontwikkelingswebserver, enz. Ik kan de initctl commando's en hun afkortingen prima als ik via de GUI in het systeem ben ingelogd. Echter, boven SSH toont geen enkele Upstart-opdracht zelfs de geringste aanwijzing van de sessietaken. Dus:

$ cat ~/.config/upstart/tor9050.conf
description "Tor on port 9050"
start on desktop-start
stop on session-end

respawn

expect daemon
exec /usr/sbin/tor -f /home/muru/.torrc9050
$ status tor9050
status: Unknown job: tor9050
$ pgrep -fa 9050
31096 /usr/sbin/tor -f /home/muru/.torrc9050

Zoals je ziet, werkt de sessie klus en als ik in de GUI was ingelogd, status tor9050 zou het verwachte resultaat laten zien tor9050 start/running, process 31096 output.

Dus: hoe kan ik de status van een Upstart-sessiejob boven SSH krijgen en anderszins controleren?


3
2018-06-16 20:14


oorsprong




antwoorden:


Een manier, die ik omslachtig vind, wordt gegeven het Upstart Kookboek (4.3.1.1: Deelnemen aan een sessie). Je moet zetten UPSTART_SESSION:

export XDG_RUNTIME_DIR=/run/user/$(id -u)
export UPSTART_SESSION=$(initctl list-sessions | awk '{print $2; quit}')

Daarna werkt het prima:

$ status tor9050                                                             
tor9050 start/running, process 31096

2
2018-06-16 21:15



@Sneetsher ah, ik was vergeten dat de TOC een leukere link geeft dan de sectiekop. Bedankt! - muru