That would require a buffering mechanism, which the file system
already provides.

Thanks,

-- 
Raul


On Mon, Nov 27, 2017 at 3:29 PM, Xiao-Yong Jin <[email protected]> wrote:
> Looks like you ought to call popen for collecting outputs.
>
>> On Nov 26, 2017, at 11:51 PM, bill lam <[email protected]> wrote:
>>
>> In j805 2!:0 always failed for this both on linux and mac, On j806,
>> change had been made on the linux branch but not on mac. The code
>> starts from line 42 of
>> the file xh.c
>> https://github.com/jsoftware/jsource/blob/master/jsrc/xh.c
>>
>> note the command passed to 2!:0 is appended with redirection for a tmp
>> file which is used to collect result to report to J.
>>
>> 'cmd .... ' > tmpfile
>> if the cmd itself already contains an output redirection such as what
>> you did, then there will be 2 output redirections in the resultant
>> cmd,
>> 'bla bla > fork,6  > tmpfile'
>> perhaps the shell interpreter used in system() is not smart enough to
>> handle it.
>>
>> What is the expected standard behavior for it? Why hostcmd_j_ can
>> solve it? I dun know.
>>
>>
>>
>> On Mon, Nov 27, 2017 at 1:07 PM, J. Patrick Harrington
>> <[email protected]> wrote:
>>> Many thanks. The expression
>>>    hostcmd_j_ =: [: 2!:0 '(' , ,&' || true)' solves the problem I had with
>>> just 2!:0. But is there an explination
>>> why an exprssion of the form 2!:0 'foo.exe <infile >outfile' should
>>> work on some machines and fail on others, when both are running the
>>> same version of J? I'm afraid my grasp of unix scripting is too poor
>>> to understand just what hostcmd_j_ does.
>>>
>>> Patrick
>>>
>>>
>>> On Sat, 25 Nov 2017, Joey K Tuttle wrote:
>>>>
>>>> Chris,
>>>> Thanks for the credit - and I'm glad to see that hostcmd_j_ is commonly
>>>> available.
>>>>
>>>> But, to be fair, I plagiarized the definition from Martin Neitzel more
>>>> than 23 years ago...
>>>>
>>>> My servers invoke it many thousands of times a day in various monitoring
>>>> scripts - and I use it often in CLI sessions as well.
>>>> I like the fact that it always returns a result (as well as echoing stderr
>>>> output to my CLI session), which desire is what Martin responded to all
>>>> those years ago.
>>>>
>>>> - joey
>>>>
>>>>
>>>>> On 2017Nov 25, at 12:14, chris burke <[email protected]> wrote:
>>>>>
>>>>> hostcmd_j_ is Joey's cover for 2!:0, e.g. see
>>>>> www.jsoftware.com/pipermail/programming/2017-April/047204.html
>>>>>
>>>>> On Sat, Nov 25, 2017 at 12:06 PM, J. Patrick Harrington
>>>>> <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Sorry, I meant "returning with no screen output'
>>>>>> I am now running the full program with hostcmd_j_ for 2!:0.
>>>>>> It's chugging away, hasn't failed yet. :-)
>>>>>>
>>>>>>
>>>>>> On Sat, 25 Nov 2017, J. Patrick Harrington wrote:
>>>>>>
>>>>>>> Chris,
>>>>>>>
>>>>>>> That test works. I just tried
>>>>>>>
>>>>>>> hostcmd_j_ '../synmod.exe < fort.5 >fort.6'
>>>>>>>
>>>>>>> and that works as well, returning with screen output, and writing
>>>>>>> successfully to fort.6. So hostcmd_j_  ~: 2!:0
>>>>
>>>>
>>>> ----------------------------------------------------------------------
>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to