[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Kindprozess in neuer Session starten



On Thu, 19 Sep 2019 19:21:22 +0200
Christoph Pleger
<christoph.pleger@cs.uni-dortmund.de> wrote:

> Den doppelten fork() braucht man laut den
> Anleitungen, die ich gefunden habe, wohl
> wirklich nur für Daemons, die keinen Zugriff
> auf ein Terminal bekommen sollen.

Nein. Das doppelte fork ist dazu da, um das
controlling terminal vom parent process los zu
werden. Man kann jederzeit mit /dev/tty ein
neues aufmachen.

> Letztere soll sich dann so verhalten, als ob
> ich mich gerade auf einem Terminal normal
> eingeloggt hätte, was sie aber momentan nicht
> tut, weil pam_systemd keine neue Sitzung
> starten will.

setsid(2) könnte helfen.

/bin/login ist traditionelles Unix. loginctl
riecht nach systemd, was nicht traditionell
ist. Und XDG_SESSION ist ein Symbol von open
desktop, wenn ich mich nicht täusche. So einem
Mischung ruft nach Problemen. Bleib doch bei
einer Umgebung.

Mir ist die Absicht nicht klar. Wenn ich so ein
Programm starte, hab ich doch schon Zugang;
warum noch ein login?? Möglich, daß pam das
auch so sieht.

Es gibt bestimmt Programme die ähnliches
machen. Wir sind in debian, und da gibt es
Quellcode.


Reply to: