Появилась задача: запускать через nohup скрипт в несколько потоков, при этом передавая ему несколько параметров
Выглядело это примерно так:
system(«nohup ./scriptName 10 $strParam», $retval);
Только проблема в том, что принимается только один параметр, попытки сделать так:
system(«nohup ./scriptName 10 $strParam $nextParam», $retval);
ни к чему не приводили, параметр не передавался.
Кроме того, методом научного тыка было установлено, что $strParam приводится к String, т.о. если передавать допустим массив, то в scriptName вместо массива придет строка («Array»).
Пришлось выкрутиться так:
$strParam = $firstParam.»###».$secondParam;
А потом в scriptName делать сплит строки:
$params = split(«###»,$argv[1]);
Кстати, параметры работы nohup передает в scriptName в виде массива $argv.