"Shane P. Lee" wrote: > > I have a small function that is called whenever the first player after > a reboot/fold logs in that runs a program with system(). > Example (Not actual code): > #define PRGM "Program" > #define FLAG "-v" > #define COMS "myfile" > > void run_prgm(void) > { > sprintf(buf, "%s %s %s nohup&", PRGM, FLAG, COMS); nohup should go in front (if you really need it), like this... sprintf(buf, "nohup %s %s %s&", PRGM, FLAG, COMS); Why do you want to run it nohup anyways? It has nothing to do with where the output of the program goes. > system(buf); > return; > } > > Now, all I have to do is run a few basic checks and then do a > run_prgm(); > The Good News: "&" works. It allows the program to run as a background > process. > The Bad News: "nohup" doesn't work. Everything is appended to the MUD > syslog. > > I was thinking of doing something like "%s %s >> logfile&" but I'm > not entirely sure that will work, besides I don't even WANT a log of > what this program is doing. Then do... sprintf(buf, "nohup %s %s %s>/dev/null&", PRGM, FLAG, COMS); You will still see messages which the program sends to stderr in the syslog, if you want to get rid of those do... sprintf(buf, "nohup %s %s %s&>/dev/null&", PRGM, FLAG, COMS); > Everthing appended to syslog from this program begins with "^M" which > leads me to believe that I could possibly catch it all before it gets > recorded, but I'm not sure how to do that. Hrmmm, that's interesting, sounds like some kind of strange windblows/*nix clash. What is this program anyways? Regards, Peter -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/04/01 PST