Kind of late response, but if it help anybody.
What worked for me is (in your terms):
-------------------------------------------------------
cl.addArgument("nohup ping -c 20 localhost > /dev/null 2>&1 &", false);
-------------------------------------------------------WBR AlexP. On Tue, Sep 25, 2012 at 1:46 PM, Stuart Broad <[email protected]>wrote: > I am attempting to 'fire and forget' a process. Using java > ProcessBuilder I can do this as follows: > > ProcessBuilder pb = new ProcessBuilder("sh", "-c", "nohup ping -c > 20 localhost > /dev/null 2>&1 &"); > ... > > Running using Commons Exec I get the following error: > > sh: nohup ping -c 20 localhost > /dev/null 2>&1 &: No such file or > directory > > The stripped down code is as follows: > > ... > DefaultExecuteResultHandler resultHandler = new > DefaultExecuteResultHandler(); > PumpStreamHandler psh = new PumpStreamHandler(logHandler); > CommandLine cl = CommandLine.parse("sh"); > cl.addArgument("-c"); > cl.addArgument("nohup ping -c 20 localhost > /dev/null 2>&1 &"); > DefaultExecutor exec = new DefaultExecutor(); > mWatchDog = new ExecuteWatchdog(ExecuteWatchdog.INFINITE_TIMEOUT); > exec.setStreamHandler(psh); exec.setWatchdog(mWatchDog); > exec.execute(cl, resultHandler); > ... > > I'm running on Mac OS X 10.7.4 with Java 1.6.0_35. > > Any help would be appreciated. *8-) > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
