[Gambas-user] using 2>redirect with Exec?

Brian G brian at westwoodsvcs.com
Sun Aug 8 17:57:41 CEST 2021


I have attached the whole project updated as an executable gambas script. 
Hope this helps 

"Failure is the key to success; 
each mistake teaches us something" .. Morihei Ueshiba 
Brian G 

----- On Aug 8, 2021, at 8:23 AM, Brian G <brian at westwoodsvcs.com> wrote: 

> I added a text area called Errormsg to your project, and here is the code to get
> error messages and process them from your app:
> ' Gambas class file

> Extern dup2(OldFD As Integer, newfd As Integer) In "libc:6"
> Private Writer As File
> Private Reader As File
> Private restore As File
> Public Sub _new()
> Writer = Open Pipe "/tmp/testpipeout" For Write
> restore = File.Err
> dup2(Writer.handle, 2)
> Reader = Open Pipe "/tmp/testpipeout" For Read Watch
> End
> Public Sub _free()
> Close Writer
> Close Reader
> dup2(restore.handle, 2)
> End
> Public Sub Form_Close()
> Quit 0
> End
> Public Sub file_read()
> Dim buffer As String
> buffer = Read #Last, -Lof(Last)
> ErrorMsgs.text &= "From Error Handler :" & Quote(buffer) & "\n"
> ErrorMsgs.Refresh()
> End
> Public Sub Button1_Click()
> Print "Something"
> Wait
> End

> "Failure is the key to success;
> each mistake teaches us something" .. Morihei Ueshiba
> Brian G

> ----- On Aug 8, 2021, at 2:43 AM, Bruce Steers <bsteers4 at gmail.com> wrote:

>> oooh , that's brilliant , Cheers Brian :)
>> I removed the dup2(dummy.Handle, 1) as it's only the gtk warnings i want to
>> suppress.
>> Now i just have to figure out how to read the error text as it comes through and
>> show anything that's not a gtk message.

>> almost had it using a pipe but it was flawed :(

>> Thank you , much better than my app launching itself twice :)
>> BruceS

>> On Sun, 8 Aug 2021 at 03:06, Brian G < [ mailto:brian at westwoodsvcs.com |
>> brian at westwoodsvcs.com ] > wrote:

>>> Hi bruce,

>>> Just notices this new thread

>>> Replied to the other one but here it is again

>>> Add this to the startup class of you application

>>> Extern dup2(OldFD As Integer, newfd As Integer) In "libc:6"
>>> Static Dummy As File
>>> Static Public Sub _init()
>>> dummy = Open "/dev/null" For Write
>>> dup2(dummy.Handle, 1)
>>> dup2(dummy.handle, 2)
>>> End

>>> No need for any other fiddles

>>> "Failure is the key to success;
>>> each mistake teaches us something" .. Morihei Ueshiba
>>> Brian G

>>> ----- On Aug 7, 2021, at 5:05 PM, Jussi Lahtinen < [
>>> mailto:jussi.lahtinen at gmail.com | jussi.lahtinen at gmail.com ] > wrote:

>>>> No, that is for terminal. You must use "Output to" and "Error To" keywords.
>>>> [ http://gambaswiki.org/wiki/lang/errorto |
>>>> http://gambaswiki.org/wiki/lang/errorto ]

>>>> Jussi

>>>> On Sun, Aug 8, 2021 at 2:29 AM Bruce Steers < [ mailto:bsteers4 at gmail.com |
>>>> bsteers4 at gmail.com ] > wrote:

>>>>> I cannot get redirect working with Exec. Is it possible?

>>>>> Ie..
>>>>> Shell "/run/mycommand 2>&1"
>>>>> works as expected and redirects error text to stdout.

>>>>> Exec ["/run/mycommand", "2>&1"]
>>>>> does not redirect and only sends '2>&1' as an argument to /run/mycommand.

>>>>> Is there a way to redirect with Exec or will i have to Shell it?

>>>>> For some reason i am under the impression it is better to use Exec over Shell if
>>>>> possible?

>>>>> Thanks in advance
>>>>> BruceS

>>>>> ----[ [ http://gambaswiki.org/wiki/doc/netiquette |
>>>>> http://gambaswiki.org/wiki/doc/netiquette ] ]----

>>>> ----[ [ http://gambaswiki.org/wiki/doc/netiquette |
>>>> http://gambaswiki.org/wiki/doc/netiquette ] ]----

>>> ----[ [ http://gambaswiki.org/wiki/doc/netiquette |
>>> http://gambaswiki.org/wiki/doc/netiquette ] ]----

>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----

> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gambas-basic.org/pipermail/user/attachments/20210808/e3b6071e/attachment-0001.htm>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: test.gbs.gmail.txt
URL: <http://lists.gambas-basic.org/pipermail/user/attachments/20210808/e3b6071e/attachment-0001.txt>


More information about the User mailing list