如何在Node.js中打开命令行窗口?

7
如何打开一个新的命令行窗口并执行一个在单独独立进程中运行的bash命令?
我尝试过:
var child_process = require('child_process');
child_process.execSync("cmd.exe /K node my-new-script.js parm1 parm2);

但它不会打开新窗口,而我需要一个独立的进程(如果可能的话)。背景是我正在尝试使用electron并编写一些节点命令行脚本。不幸的是,在electron环境中生成进程通常会导致奇怪的行为,并且控制台日志输出非常难看。
顺便说一下,我需要类似于OS X和Linux的东西。

1
你可能需要使用start命令来强制打开一个新的命令提示符窗口。 - brandonscript
@remus 这正是我想要的。我曾经以为我懂Windows ^ ^。你是否巧合地知道Linux和Mac的等效物? - Stephan Ahlf
1个回答

17

对于Windows系统,您需要使用start命令:

start cmd.exe /K node my-new-script.js parm1 parm2

对于 OS X,你可以使用以下方法:

osascript -e 'tell application "Terminal" to activate' -e 'tell application "System Events" to tell process "Terminal" to keystroke "t" using command down'

对于其他*nix发行版,您需要查找它们,因为每个发行版略有不同。

2
有没有可能在后台运行这个程序? - yashodha_h
@YD_ 使用 child_process.exec() 来代替 child_process.execSync() 以在后台运行终端。 - Marco

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接