• systemctl: poter vedere tutti i servizi di tutti gli utenti

    From Davide Prina@21:1/5 to All on Sun Oct 8 11:50:01 2023
    È possibile vedere tutti i servizi di tutti gli utenti?

    Mi spiego: avevo un servizio che partiva e immediatamente generava
    un errore e una notifica di tale errore. Solo che non riuscivo a
    capire come veniva avviato. Alla fine ho scoperto che era avviato
    come --user (avviato da root, ma per il singolo utente)... ho così
    imparato una cosa che non sapevo.

    Per poterlo vedere bisogna fare
    # systemctl --user status $NomeServizio

    Però ci sono anche servizi avviati dal singolo utente.

    Mi chiedo se esiste un comando (intesa come opzione di systemctl),
    anche eseguibile solo da root, che permetta di vedere tutti i servizi
    Se eseguo
    # systemctl
    non li vedo tutti, per quanto detto sopra...

    Ciao
    Davide

    --
    La mia privacy non è affar tuo
    https://noyb.eu/it
    - You do not have my permission to use this email to train an AI -
    If you use this to train your AI than you accept to distribute under AGPL license >= 3.0 all the model trained, all the source you have used to
    training your model and all the source of the program that use that model

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From gerlos@21:1/5 to All on Sun Oct 8 15:20:01 2023
    Ciao

    Il giorno 8 ott 2023, alle ore 11:42, Davide Prina <Davide.Prina@null.net> ha scritto:

    È possibile vedere tutti i servizi di tutti gli utenti?

    Mi spiego: avevo un servizio che partiva e immediatamente generava
    un errore e una notifica di tale errore. Solo che non riuscivo a
    capire come veniva avviato. Alla fine ho scoperto che era avviato
    come --user (avviato da root, ma per il singolo utente)... ho così
    imparato una cosa che non sapevo.

    Per poterlo vedere bisogna fare
    # systemctl --user status $NomeServizio

    Però ci sono anche servizi avviati dal singolo utente.

    Che io sappia, non c’è un’opzione di sistema per elencare i servizi avviati da tutti gli altri utenti del sistema.

    Una possibilità potrebbe essere eseguire, per ogni utente disponibile un comando come:
    “systemctl --user list-units --state=running”

    Un’altra possibilità, considerato che per ogni servizio eseguito per un utente c’è un’istanza di systemd di proprietà di quell’utente, potrebbe essere andare a cercare istanze utente nell’output di ps.
    Ad esempio:

    $ ps aux | grep "/lib/systemd/systemd --user"
    gerlos 6719 0.0 0.0 22216 9176 ? Ss ott07 0:07 /lib/systemd/systemd --user

    saluti,
    Gerlos

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Giuseppe Sacco@21:1/5 to All on Tue Oct 10 11:00:01 2023
    Ciao Davide,

    Il giorno dom, 08/10/2023 alle 11.42 +0200, Davide Prina ha scritto:
    [...]
    Mi chiedo se esiste un comando (intesa come opzione di systemctl),
    anche eseguibile solo da root, che permetta di vedere tutti i servizi
    Se eseguo
    # systemctl
    non li vedo tutti, per quanto detto sopra...

    non credo che ci sia un comando di systemd che ti mostri i «service»
    privati di tutti gli utenti in un colpo solo.
    Però puoi cercare le unit e farti un'idea di quei servizi.

    Le unit dei «service» utente che vengono eseguite per tutti gli utenti sono nella directory /etc/systemd/user e in /usr/lib/systemd/user. Quelle dei singoli utenti sono in $HOME/.config/systemd/user.

    Come sempre, quelle abilitate sono nelle sottodirectory /etc/systemd/user/*.target.wants e
    $HOME/.config/systemd/user/*.target.wants .

    Ciao,
    Giuseppe

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)