Linux 如何在后台运行ionic

Linux 如何在后台运行ionic,linux,terminal,ionic-framework,ionic,Linux,Terminal,Ionic Framework,Ionic,我正在尝试在后台运行ionic serve,以便可以通过circle ci上的rails应用程序进行测试。我想我可以用: nohup bash -c "ionic serve --nolivereload --nobrowser &" 但不幸的是,它不起作用。有人知道如何在后台运行它吗?为什么要在CI的后台运行它 在测试之前直接运行命令应该可以: ionic serve --nolivereload --nobrowser & 一旦触发进程完成,您的CI应杀死所有触发进程 更

我正在尝试在后台运行ionic serve,以便可以通过circle ci上的rails应用程序进行测试。我想我可以用:

nohup bash -c "ionic serve --nolivereload --nobrowser &"

但不幸的是,它不起作用。有人知道如何在后台运行它吗?

为什么要在CI的后台运行它

在测试之前直接运行命令应该可以:

ionic serve --nolivereload --nobrowser &
一旦触发进程完成,您的CI应杀死所有触发进程

更新:

如果CI未终止触发的进程,则可以执行以下操作:

ionic serve --nolivereload --nobrowser &
ionicpid=$!
your_test_command_here
kill -15 $ionicpid

如果所有这些命令都在同一个作业中,它应该可以在CI上工作。

您可以使用
屏幕

screen -d -m -L ionic serve --nolivereload --nobrowser

在CircleCI上,我发现此设置运行良好

machine:
  node:
    version: v7.4.0

test:
  pre:
    - npm run webdriver-update
    - ionic serve --nolivereload --nobrowser --port 8101:
        background: true
    - sleep 15

  override:
    - npm run e2e

这里有一个实际有效的方法(抱歉这么晚了)


我认为在ionic v3中有一个简单的方法,但这适用于v1

问题是我需要命令“完成”,以便circle ci可以继续下一个。上面的命令仍然会接管命令行,而且永远不会结束。因此,circleci只是永远等待,直到它超时,而不继续执行下一个任务。在你的终端上用任何一款爱奥尼亚应用程序试试吧。我不太确定它是如何输出到命令行的,即使是附加的&但确实是这样。好吧,我不知道circleci,但类似的东西在Jenkins中工作。你是否在一份工作中触发了“离子服务”,而在另一份工作中触发了你的测试?还是两者都在同一份工作?我的答案是假设两人都在同一份工作。我更新了我以前的答案,你可以测试一下,看看是否可以。不幸的是,它没有。第一个命令永远不会停止,因此第二个命令永远不会运行。您可以通过首先执行npm安装-g cordova-ionic在本地进行测试;启动myApp标签;cd MyApp建议的解决方案不适用于“离子服务”。进程无法在后台运行,句点。一旦它被放到后台,它就会暂停并停止响应。
sleep 999999999 | ionic serve -b &