execute two shell commands in single exec php statement
You can use either a ;
or a &&
to separate the comands. The ;
runs both commands unconditionally. If the first one fails, the second one still runs. Using &&
makes the second command depend on the first. If the first command fails, the second will NOT run.
command1 ; command2 (run both uncondtionally)
command1 && command2 (run command2 only if command1 succeeds)
Seperate them with a semicolon (;). Example:
exec("touch --date '2011-09-19' /home/; find /home/");
This is how I did it simultaneously encode thumbs, and then flv video..I need to generate 2 thumbs from avi file. After the thumbs I need to convert the same avi to flv or whatever. So, here is the code I normally used.
$command_one = "do whatever the script does best";
$command_two = "do whatever the script does second best";
//execute and redirect standard stream ..
@exec($command_one."&& ".$command_two.">/dev/null 1>/dev/null 2>/dev/null &");
You can also run array of commands with exec, if you want :)
foreach($crapatoids as $crap){
$command_name = $crap;
//exec the crap below
@exec ($command_name." >/dev/null 1>/dev/null 2>/dev/null &");
}