如何在Linux上使用默认应用程序在Node.js中使用子进程打开文件

时间:2018-11-07 14:23:56

标签: node.js linux ubuntu electron child-process

我试图用xdg-open打开电子文件中的node.js文件,但是父进程不是电子文件。

var spawn = require('child_process').spawn;
spawn('xdg-open', ['/home/xytao/safe/test'])

然后通过gedit打开该文件

那我想知道gedit是否是电子的子过程

ps -ef | grep gedit
11110  1702  0 22:12 ?        00:00:01 gedit /home/xytao/safe/test
11150 10013  0 22:16 pts/25   00:00:00 grep --color=auto gedit

pstree  -sp 11110
init(1)───lightdm(1099)───lightdm(1484)───init(1702)───gedit(11110)─┬─{gedit}

如果我将xdg-open更改为gedit

var spawn = require('child_process').spawn;
spawn('gedit', ['/home/xytao/safe/test'])

那么父过程是电子

ps -ef | grep gedit
xytao    11158  9306 28 22:19 ?        00:00:00 gedit /home/xytao/safe/test
xytao    11181 10013  0 22:19 pts/25   00:00:00 grep --color=auto gedit

pstree  -s 11158
init───lightdm───lightdm───init───bash───npm───sh───node───electron───electron───electron───gedit───11*[{gedit}]

因此,当我不知道哪个子程序是正确的打开电子程序时,如何使默认应用程序成为电子的子进程?

0 个答案:

没有答案