代码之家  ›  专栏  ›  技术社区  ›  user6456568

如何在linux上用默认应用程序在nodejs中用子进程打开文件

  •  0
  • user6456568  · 技术社区  · 7 年前

    我试图用 xdg-open 然而,母体过程不是电子。

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

    然后此文件由 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打开 格迪特

    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 回复  |  直到 7 年前