06-12-2024 08:16 AM - edited 06-12-2024 08:20 AM
In my program I start an executable (Linux System) with the "Open System Command Pipe.vi". After a while the program returns (stops) and stays a zombie process (defunct) until I close my LabVIEW Developing Environment.
Is there a way to clean up the process without having to close a parent program (in this case my LabVIEW program)?
I already tried:
-> "Close Pipe.vi", which should close the pipes I created with the "Open System Command Pipe.vi"
-> "Write Pipe.vi" to the System Pipe with the input "wait" (which is a system command for linux systems to clean up childprocesses when they are terminated)
-> "System Exec.vi" with "kill <process ID>" which doesnt kill the childprocess.
What is the right way to use the Open System Command Pipe.vi? Unfortunately I didn't find any examples.
In this forum there were some topics about System Pipes, but no real information about this VI.
Many thanks in advance,
Musa
06-12-2024 12:18 PM
I don't know Linux, but this works in Windows.
06-13-2024 04:11 AM - edited 06-13-2024 04:28 AM
@paul_a_cardinale wrote:
I don't know Linux, but this works in Windows.
The equivalent of your VIs command to Linux would be "kill -9 <PID>" but even that won't kill (and remove it from the process-list) the application.
P.S.: <defunct> means, that it's already finished. So killing a dead task is not possible (these are so called zombie tasks)