We'll be using xinetd to launch the LabVIEW EXE- and xinetd expects to be able to use STDIN/STDOUT to the launched process.
The LabVIEW for Linux (i.e. installing on Redhat) has the Pipes VIs - this is what I need I believe to make this work, but Linux RT for PXI, these are of course missing from my Functions Palette.
Is there a reason for this? Can they be added easily?
It is 100% an oversight. The root cause is that the RT Module was never ported to Linux desktop (hah!) so were unaware of the Pipe VIs' existence. Sorry!
IIRC, you *could* just copy over the VIs — I don't recall that not working. But you might not need them because this works too:
Huh...I'll look into the Binary File version...Obviously, I was not aware of that, but then I am not a Linux expert 😄
0 - STDIN
1 - STDOUT
2 - STD ERR
If I am learning correctly.
I'll have to see if I can somehow download a copy of LabVIEW for Linux while SIP at home and extract the Pipes VIs - looks like the latest version was 2018, judging by the online help.
Not sure this is the best place to follow-on, but I am trying to implement that binary file access to the STDin/STDout of the LabVIEW rtexe, once it is launched by xinetd
Trouble is I can't seem to get a LabVIEW program on my PC trying to connect to the PXIe on the port that I told xinetd to watch to have xinetd launch the program.
When I try to utilize TCP Connect - I just get error 63. I am able to run the Simple TCP example across the two systems to each other as a test.
Am I incorrect in thinking LabVIEW trying to connect should trigger xinetd on the PXIe if it is told to monitor the port in question and launch the "Server" which is set as my rtexe?
I thought xinetd was supposed to launch the app when you try to connect on the port, you fill out the Server location of the exe - but that is probably wrong and I need some other code.
I will look into testing xinetd another way as well. Good idea.
Well evidently I didn't set something up right in my xinetd.d file for the listening on the port, as netstat -at is not showing any listening on the port I want it to monitor.
Oops had a couple typos in the xinetd.conf log_on_failure line and the only-from
Fixed that and the main Defaults reads fine.
Now the only issue I am seeing in the /var/log/messages files after restarting xinetd is that the
Server = line does not like trying to start the LabVIEW RTEXE
I had tried ./home/lvuser/natinst/bin/startup.rtexe
(My rtexe is of course not set to run on start-up in the project build).