Einen Prozess beenden, der mit einem Port eines Erlangs verbunden ist

8

Ich möchte eine Art Supervisor schreiben und versuche eine Funktion zu implementieren, die ein externes Programm schließt. Der externe Prozess ist mit einem Erlang-Code mit einem Port verbunden. Ich habe keine Ahnung, wie ich dieses Programm schließe, indem ich ein Signal oder irgendetwas anderes sende. Das Schließen eines Ports ist keine Lösung, da ich überprüft habe, dass viele Programme nicht auf SIGPIPE beendet werden. Hast du irgendwelche Ideen, wie es geht?

    
Wojciech Reszelewski 17.12.2012, 07:25
quelle

2 Antworten

9

Sie können

verwenden %Vor%

um die PID des Prozesses im OS zu erhalten (siehe Ссылка - ich denke dir könnte eine neuere Version von Erlang benötigen, damit dies enthalten ist, ich glaube, die von apt-get auf Ubuntu 12.04 installierte Version ist nicht neu genug, ich weiß, R15B02 hat es aber) und dann

%Vor%

um es zu töten ( Ссылка ).

    
Tom H. 17.12.2012, 10:55
quelle
1

Sie können einen externen Prozess beenden, wenn Sie den verknüpften Erlang-Prozess beenden. Verwenden Sie diesen Weg:

%Vor%

Aber Sie können keinen externen Prozess beenden, der mit IO-Read blockiert wurde.

    
DenisKolodin 23.05.2015 12:52
quelle

Tags und Links