在一些教程中,我已经看到以下代码片段来监视PID过程: check process nodejs with pidfile "/var/run/yourprogram.pid" start program = "/sbin/start myapp" stop program = "/sbin/stop myapp" if failed port 8000 protocol HTTP request / with timeout 10 seconds then restart 但在其他一些情况下,我看到监视一个没有PID的整个主机,如下所示: check host localhost with address 127.0.0.1 start "/sbin/start myapp" stop "/sbin/stop myapp" if failed port 8000 protocol HTTP request / with timeout 10 […]
我不是很习惯syspipe理,最近用两个命令在两台服务器(Ubuntu 12.4上)之间创build了一个SSH隧道: ssh -fNg -L 3307:127.0.0.1:3306 [email protected] 它的工作原理,我也将这个命令添加到/etc/rc.local,并在启动时成功启动SSH隧道。 但是,我试图在/etc/init/my_tunnel.conf文件中添加我的隧道,并且在每次启动时都启动了近12个隧道! 我使用了下面的代码: start on (local-filesystems and net-device-up IFACE=eth0) stop on runlevel[016] respawn exec ssh -fNg -L 3307:127.0.0.1:3306 [email protected] exit 0 我花了几个小时,不知道为什么以及如何执行这个脚本很多次。 我也尝试过start on[2345] ,完全阅读新贵的手册,但仍然是一样的。 我相信我在这里错过了一些东西。 如果有人能帮助我。 谢谢。
我有一份完全正常的工作: > start c4-ha-policy ; stop c4-ha-policy c4-ha-policy (start) waiting c4-ha-policy (start) starting c4-ha-policy (start) pre-start, process 1731 c4-ha-policy (start) spawned, process 1828 c4-ha-policy (start) post-start, process 1829 main process 1828 c4-ha-policy (start) running, process 1828 c4-ha-policy (stop) running, process 1828 c4-ha-policy (stop) pre-stop, process 1956 main process 1828 c4-ha-policy (stop) stopping, process 1828 c4-ha-policy […]
我试图通过暴发户启动gitlab sidekiq守护进程。 但不幸的是,sidekiq工人似乎是从sidekiq开始deamonizes自己respawned: Jul 12 17:26:42 git kernel: [370722.042968] init: gitlab-sidekiq main process (28251) terminated with status 1 Jul 12 17:26:42 git kernel: [370722.042997] init: gitlab-sidekiq main process ended, respawning 有没有一种方法来“掠夺”一个耙子任务? (我知道这个和这个 )或者专门运行gitlab sidekiq作为暴发户脚本。 这是我目前的工作: description "Sidekiq Background Worker for Gitlab" # no "start on", we don't want to automatically start start on runlevel [2345] […]
我试图部署3个Docker容器,它们之间有一个依赖关系(A – > B – > C)。 现在,每个容器都应该在JVM实例之上运行一个Akka-Spray实例。 问题是:按照通常的编排方法,容器A已经启动,但Web服务器没有时间启动。 如果在集装箱B运行之前没有运行,集装箱B将永远不能跟上,等等。 最近我一直在尝试以下方法:在容器之间共享数据量; 在web服务器准备好之后,一个助手脚本将在卷中创build一个空文件; 运行一个脚本(通过Upstart服务),查找一个空文件来显示并触发下一个容器。 但是,使用服务很可能是导致此问题的原因:正在运行 sudo docker run -d -it –name=backend -v ~/docker-test/:/docker-test -v ~/aux/:/aux ubuntu /bin/bash -c "</path/to/test/script>" 只需在命令行中完成,但在Upstart服务执行的脚本(接收消息"/bin/bash </path/to/test/script> : no such file or directory" )中随机失败。 任何人都会遇到这个呢? 我很感激欢迎任何build议来克服这一点。
所以…我最近一直在想,为什么我需要GDM。 我通过修改upstart文件/ etc / init / gdm(我运行Ubuntu 10.10桌面)来禁用它。 所以现在电脑启动命令提示符,如果我需要GUI,我只需键入startx。 到目前为止一切运行得很好。 但是 – 有谁知道是否有任何缺点不使用gdm? 我会失去任何function? 谢谢:)
我有一个Node.js应用程序的Upstart作业,我想让它运行节点作为node用户,而不是root 。 当我在作业configuration中使用setuid时,只要我尝试启动作业,它就会显示my-app stop/waiting 。 但是,如果我省略了setuid但是使用sudo exec ,则按照我的预期工作。 我已经创buildnode作为系统用户。 据我所知,所有相关的文件和目录都可以被这个用户访问。 我使用的Upstart版本是1.12.1。 configurationsetuid : script setuid node chdir /var/app/my-app exec nodejs server.js end script 与使用sudo的configuration相比: script chdir /var/app/my-app exec sudo -u node nodejs server.js end script Upstart的setuid行为和sudo行为之间会有什么不同?
我正在运行一个CentOS6实例,并有一个依赖于sshd的暴发户作业已经在运行。 但是,当我启动盒作业无法启动,我猜,因为sshd实际上并没有运行。 有没有一种方法可以延缓启动工作,直到所有正常的初始化脚本启动?
如何使Ubuntu服务器在启动时按特定顺序运行服务? 我已经读了一些关于Upstart , init.d和inittab ,我不确定这样做的正确方法是什么。 谢谢, 乌迪
我想通过传递一个参数到启动任务来运行我的进程的多个实例: start myapp instance1 start myapp instance2 等等 我想有一个暴发户conf文件,而不是像我的应用程序的实例一样多的conf文件。 可能吗 ?