Cannot get output of child_process.spawn with interactive scripts

Viewed 2040

I cannot get any output in the following code:

var spawn = require('child_process').spawn,
    script = 'ftp',
    child = spawn(script);

child.stdout.on('data', function (data) {
  console.log('stdout: ' + data);
});

child.stderr.on('data', function (data) {
  console.log('stderr: ' + data);
});

child.on('close', function (code) {
  console.log('child process exited with code ' + code);
});

It works for normal scripts such as 'ls', 'pwd' etc. But not for interactive programs such as 'ftp', 'telnet'. Any suggestions?


Edit:

Take another script for example:

#!/usr/bin/env python
name = raw_input("your name>")
print name

When spawn this script, I wish to fetch the prompt "your name>" with the data event, so that I can latter input something into stdin.

The problem is that I got nothing in the data event, and it seemed that none of these events are triggered.

2 Answers
Related