Terminal 如何独立于终端运行电子应用程序?

Terminal 如何独立于终端运行电子应用程序?,terminal,electron,npm-start,Terminal,Electron,Npm Start,我正在寻找一种独立于终端本身运行Electron应用程序(npm start命令)的方法。这意味着即使终端关闭,我也希望Electron应用程序继续运行 我不确定这是否可能 我尝试了cd-electron目录路径&&nohup npm start&,但这允许我使用终端实例执行其他命令,并防止终端中出现任何电子消息。但是,关闭终端仍然会杀死Electron应用程序 即使是cd-electron目录路径&&npm-start&也做了同样的事情,但是我还没有找到一种完全独立于终端实例运行electro

我正在寻找一种独立于终端本身运行Electron应用程序(
npm start
命令)的方法。这意味着即使终端关闭,我也希望Electron应用程序继续运行

我不确定这是否可能

我尝试了
cd-electron目录路径&&nohup npm start&
,但这允许我使用终端实例执行其他命令,并防止终端中出现任何电子消息。但是,关闭终端仍然会杀死Electron应用程序


即使是
cd-electron目录路径&&npm-start&
也做了同样的事情,但是我还没有找到一种完全独立于终端实例运行electron应用程序的方法…

您可以通过
nohup-npm-start&
启动一个electron应用程序,但是当关闭终端窗口时,electron应用程序也会终止(出乎意料)

我可以复制这种行为,但不是每次都可以。在我大约30%的实验中,Electron应用程序没有终止。我还无法找到这种变化行为的原因

变通办法 以下解决方法在不终止Electron应用程序的情况下关闭终端。在我的测试中,它每次都有效:

  • 像以前一样启动Electron应用程序:
    nohup npm Start&

  • 通过发出
    nohup kill$$&

    $$
    提供当前进程id。 请注意,
    kill$
    不起作用



如果您不一定需要从终端运行,您也可以。

pathname
成为节点应用程序位置的路径。 只需使用以下命令:

cd路径名&&npm开始&&Z&


  • cd
    将目录更改为需要执行终端命令的位置
  • &&
    表示在此命令之后还有其他命令要执行
  • npm启动
    启动npm应用程序
  • ^Z
    暂停终端中运行的进程,从而断开节点的终端部分与原始应用的连接
  • &
    表示我们不希望终端等待命令执行

现在我们可以关闭终端,electron应用程序应该继续运行


学分:


在我的例子中,每次终端关闭时,它都会终止。此外,不只是Electron,任何以类似方式运行的应用程序都会在终端关闭时关闭。感谢您的回答,它工作了!!