[Gambas-user] OUTPUT TO, stdout and command line usage

bb adamnt42 at gmail.com
Wed Aug 25 20:31:43 CEST 2021


On Wed, 2021-08-25 at 10:17 -0400, T Lee Davidson wrote:
> 
> Perhaps something like this might do what you need:
> 
> Public Sub Form_Open()
> 
>    Dim sOutput As String
> 
>    Shell Subst("lsof -p &1 -a -d 1 | grep REG", Application.Id) To
> sOutput
>    If sOutput Then 'someone's trying to be sneaky
>      TextArea1.Text = Split(sOutput, " ").Last
>    Endif
> 
> End
> 
> Using "-d 1" assumes that any program output redirection will be
> given the second available file descriptor (zero-indexed). I'm 
> not sure that would always be the case, and so "-d 0-3" might be more
> appropriate. But, then you'd need to process each line 
> individually to find the one opened with the write attribute (eg.
> "1w").
> 
> 
Spot on! 
I'm using Subst("lsof -p &1 -a -d 1", Application.Id) i.e. without the
grep as that would miss redirects to /dev/null.

-d 1 must work, at least for bash, otherwise "xyzzy > blah.txt &2>&1"
wouldn't work.

thanks Lee!
bruce



More information about the User mailing list