我正在使用Grunt启动单元测试框架(实习生),最终管理另一个node.js进程,然后我使用Charm将结果输出到屏幕。我不得不从Grunt配置选项传递终端大小信息,但它有点乱,我想尝试从管道进程中获取终端大小,但是标准process.stdout.cols / getWindowSize根本不可用,因为管道进程没有注册为TTY(尽管Charm可以正常工作)。
有什么建议吗?
编辑这里要清楚...... Grunt JavaScript文件正在主node.js进程中运行,但我试图从中检索此信息的文件(以及因此,我正在运行人们建议的命令)是在一个衍生的子进程中。
答案 0 :(得分:1)
试试这些:
class SomeCompilerGeneratedType {
public Foo obj;
public void SomeCompilerGeneratedMethod() {
Console.WriteLine(obj.name);
}
}
告诉您列数。 tput cols
告诉您行数。tput lines
获取行和列 echo -e "lines\ncols"|tput -S
在终端中运行以下代码时会打印cols:
$ stty size #60 120 <= sample output
答案 1 :(得分:0)
pty.js
模块可以让孩子像普通终端一样行事。
var pty = require('pty.js');
var term = pty.spawn('bash', [], {
name: 'xterm-color',
cwd: process.env.HOME,
env: process.env
});
term.on('data', function(data) {
console.log(data);
});
term.write('ls\r');
term.resize(100, 40);
term.write('ls /\r');
console.log(term.process);