LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How do you kill a process started with Open System Command Pipe

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

 

 

0 Kudos
Message 1 of 3
(465 Views)

I don't know Linux, but this works in Windows.

0 Kudos
Message 2 of 3
(420 Views)

@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)

0 Kudos
Message 3 of 3
(393 Views)