mouserok
Неужели все нужно думать за вас? Запускается ваш скрипт, он запускает какой-то дочерний процесс через exec(). Добавляйте в команду запуска какой-то уникальный параметр, по которому потом этот процесс можно будет легко найти. Вывод этого процесса перенаправляйте в файл.
После команды exec() делайте цикл с функцией sleep(1) на столько итераций сколько вам нужно и на каждой итерации проверяйте файл, куда процесс пишет вывод. Если на N ой итерации там нет того что вам нужно, то ищите ваш процесс при помощи команды "ps ax | grep уникальный_параметр", вытаскивайте его pid и убивайте процесс по нему.
Вот и весь архисложный алгоритм. Возможно его еще прозе сделать можно, я не искал как можно получить pid-ы порожденных процессов в php или *nix командной строке.
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.