Fork und setsid starten zwar einen neuen Prozess (auch bei deinem Script), aber das Hauptprogramm wird erst nach dem neuem Prozess beendet. Das ist auch nicht weiter schlimm, wenn ich verhindern könnte, dass die Ausgabe nicht mehr an den Browser gesendet wird. Leider gelingt mir auch das nicht. Auch die Zeile
open STDOUT, '>/dev/null';
hilft nichts. Konkret möchte ich die Ausgabe (Password: ) folgender Zeilen verhindern:open(SU,"su $username");
print SU $password;
close(SU);Kennst du (ihr) eine Lösung?
Also irgendwas geht da bei dir ganz gewaltig schief. Aber versuch doch mal folgende Zeilen:
open (SU, "su $username > /dev/null");
Dann sollte jede Ausgabe unterdrückt werden. Oder dann gibt es noch so ne Funktion namens IPC::open2, oder so was ähnliches.