Challenge: who can background this shell command?
David Bovill
david.bovill at gmail.com
Thu Aug 1 14:19:24 EDT 2019
OK - I managed to get it to work with:
- open process "/usr/local/bin/hugo server" for read
which I did not think would work due to the two word shell command.
Timing was an issue - so I had to use the method found here (thanks Mark) -
https://github.com/livecode/livecode/blob/develop/builder/installer_utilities.livecodescript
-
which uses a send in 20 milliseconds when there is a timeout. basically it
is complex timing logic, but more direct and probably robust than using a
bunch of shell commands we put into the background. Still we have tow
methods that work - restores my faith in the flexibility of Livecode!
On Thu, 1 Aug 2019 at 17:15, dsc--- via use-livecode <
use-livecode at lists.runrev.com> wrote:
> I feel foolish. From the dictionary:
>
>
> Note: On OS X systems, you can use the open process command to start up an
> application, but not a Unix process. To work with a Unix process, use the
> shell func instead.
>
> When I saw this in the Dictionary, I thought, "Oh, when did this break?"
>
> I should have thought, "Oh, yeah?"
>
>
> > On Aug 1, 2019, at 10:03 AM, Dar Scott Consulting via use-livecode <
> use-livecode at lists.runrev.com> wrote:
> >
> > So, this is a documentation problem?
> >
> >> On Aug 1, 2019, at 9:27 AM, Mark Waddingham via use-livecode <
> use-livecode at lists.runrev.com> wrote:
> >>
> >> On 2019-08-01 17:12, David Bovill via use-livecode wrote:
> >>> OK - so I have it working by writing to a temporary file.
> >>> Trying to redirect the output to stdout - so that shell() return the
> >>> information of the background process - but this freezes:
> >>
> >> Okay so given you want to read/write to the process you launched it
> seems...
> >>
> >> What's wrong with open process? The *only* difference between open
> process
> >> on macOS compared to Linux (and Windows) is that if you try and open
> process
> >> an app-bundle (i.e. something ending with '.app') it will do the same as
> >> launch (as .app bundles aren't executables).
> >>
> >> The installer uses open (elevated) process to communicate with an
> instance
> >> of itself with elevated permissions. You can see the code for that here:
> >>
> >> <
> https://github.com/livecode/livecode/blob/develop/builder/installer_utilities.livecodescript
> >
> >>
> >> The key routines are installerRun and installerMonitor (the latter is
> used
> >> to poll every 20 milliseconds to check if the child process has
> anything to
> >> say).
> >>
> >> Warmest Regards,
> >>
> >> Mark.
> >>
> >> --
> >> Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
> >> LiveCode: Everyone can create apps
> >>
> >> _______________________________________________
> >> use-livecode mailing list
> >> use-livecode at lists.runrev.com
> >> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>
> >
> >
> > _______________________________________________
> > use-livecode mailing list
> > use-livecode at lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
More information about the use-livecode
mailing list