You can in general imitate the communication part of JHS. Sockets are great but they may not be that easy to set up and use in a small project.
2012/1/2 Ian Clark <earthspo...@gmail.com> > Thanks, Raul. I'll look again at the sockets solution. > > Some time since I ran that lab, but I seem to recall it had a timer to > poll the link hidden somewhere, so I think I dismissed it from my mind > for that reason. IMO it's as clunky as my other solutions: certainly > clunkier than the yellow-J approach. One good thing was the ability of > one process to send a "message" triggering a callback in the other > process. Specifically to execute a given J sentence. That would solve > most things. But is it a proper message, placed in the system's event > queue, or something the other process has to poll for? > > A message "are you alive?" sent via a socket would surely need a > timeout to register the answer "no"? > > A pair of mapped files might provide the nearest thing to my > recollection of 1970's-style "common memory". In the days before it > was deemed vital to build Chinese walls between asynchronous > processes. If each process updates a timestamp in its mapped file, > then a simple match (-:) would verify the other process is (still) > running. You wouldn't even need mapped files: just read the directory > timestamps. > > Both process, I might add, are already having to run their own > timer-driven duty-cycles for other purposes. Oh for a system > "heartbeat", which could trigger an "Idle" event in any given process! > > On Mon, Jan 2, 2012 at 6:59 PM, Raul Miller <rauldmil...@gmail.com> wrote: > > I think I would use (non-blocking) sockets for this. > > > > If you are using j6, I'd point you at the socket labs, which > > demonstrate their use. I am not sure what state those labs are in for > > j7. > > > > -- > > Raul > > > > On Mon, Jan 2, 2012 at 1:51 PM, Ian Clark <earthspo...@gmail.com> wrote: > >> Please forgive these questions I post to the list to which I know the > >> answer. Or rather: *an* answer. I learn a lot from others' responses. > >> Even if it's "my way is best after all" -- that's a valuable thing to > >> know. > >> > >> I have two separate J processes running (assume Linux / Darwin, though > >> I'm keen on cross-platform solutions). They communicate by each > >> writing a text file which is read by the other > >> (keep-it-simple-stupid). Is there a neat, robust way of one process > >> asking the other: "are you there?" or "are you still alive?" > >> > >> I'm au-fait with how the yellow-J works, all the solutions involving > >> timer-driven duty-cycles, timeouts, and reading files written by the > >> sister process, Or the files' timestamps, or permissions. But these > >> all seem so clunky. I guess what I want is something that was so easy > >> in the 1970s but is so awkward on today's machines: just reserve a > >> pair of bits in absolute memory -- or a pair of pixels on the screen > >> -- or some inessential system flags -- and play pat-a-cake with them. > >> > >> Once upon a time there was such a thing as "common memory". > >> ---------------------------------------------------------------------- > >> 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