如何杀死使用nodejs ssh2执行的尾部进程?

时间:2013-02-07 08:25:53

标签: linux node.js ssh tail

如何杀死我在此查询中执行的尾部进程?

var c = new Ssh2();
   c.on('connect', function() {
     console.log('Connection :: connect');
   });
   c.on('ready', function() {
     console.log('Connection :: ready');
     c.exec('tail -f test.txt', function(err, stream) {
    if (err) throw err;
    stream.on('data', function(data, extended) {
        console.log((extended === 'stderr' ? 'STDERR: ' : '')
                   + data);
    });
    stream.on('exit', function(code, signal) {
        c.end();
    });
     });
   });
   c.on('error', function(err) {
     console.log('Connection :: error :: ' + err);
   });
   c.on('end', function() {
     console.log('Connection :: end');
   });
   c.on('close', function(had_error) {
     console.log('Connection :: close');
   });        
   c.connect({
     host: '127.0.0.1',
     port: 22,
     username: 'test',
     password: 'test'
   });

或者是否有任何使用nodejs执行tail -f的建议?

1 个答案:

答案 0 :(得分:2)

最简单的方法是在命令行中使用这样的表单:'tail -f test.txt&读;杀$!'。

然后,当你想杀死这个过程时,只需stream.write('\n');