06-22-2020 03:24 PM
My project:
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?
06-23-2020 11:12 AM
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:
06-23-2020 03:22 PM - edited 06-23-2020 03:23 PM
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.
Thank you!
06-23-2020 04:04 PM
Here, I'll spare you the trouble... Untested.
06-23-2020 04:09 PM
07-02-2020 04:03 PM
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?
07-03-2020 05:20 AM
Wait, how are you launching the app? and have you tried a test program through xinetd, like cat?
07-06-2020 09:39 AM
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.
07-06-2020 11:29 AM - edited 07-06-2020 11:52 AM
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.
07-06-2020 02:40 PM
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).