Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Выполнение exec в screen (https://javascript.ru/forum/node-js-io-js/66444-vypolnenie-exec-v-screen.html)

Vlasenko Fedor 15.12.2016 17:38

Выполнение exec в screen
 
Доброго вам дня и хорошего настроения
Столкнулся с задачей, нужно запускать peervpn в скрине.
Не подскажите как правильно запустить.
Интересует так-же полностью монитор за ними
Убить процесс, получить буфер вывода и т.д(мониторинг)

Сейчас это выглядит
var exec = require('child_process').exec;
var cmd = "peervpn /home/fedor/peervpn.config";

function execScreen(screenName, command) {
    // var cmd = 'screen -dmS ' + screenName + ' sh; screen -S ' + screenName + ' -X stuff ' + command + "\n";
    var cmd = 'screen -dmS ' + screenName + ' sh; screen -S ' + screenName + ' "' + command + '"';
    exec(cmd, function (error, stdout, stderr) {
        if (error) {
            console.log('error');
            console.log(error);
        }
        if (stdout) {
            console.log('stdout');
            console.log(stdout);
        }
        if (stderr) {
            console.log('stderr');
            console.log(stderr);
        }
    });
}

execScreen('test1', cmd);

при этом сам скрин создается, но код не исполняется
может подтолкнете, библиотеки какие либо осуществляющие подобные действия

Vlasenko Fedor 25.12.2016 02:07

Решение /dev/null 2>&1
Перенаправляем поток в файл, который читаем с определенным интервалом если изменился
sudo ps -aux | grep peervpn.config

получаем ид процесса и убиваем если надо.
Может пригодится велосипед кому-то


Часовой пояс GMT +3, время: 06:24.