Questions tagged «upstart»

Upstart是/ sbin / init守护程序的基于事件的替换,该守护程序在引导过程中处理任务和服务的启动,在关闭过程中将其停止,并在系统运行时对其进行监督。

2
未设置HOME变量
我有两个服务器,它们是相同的(我相信),生产服务器和登台服务器。 我在/etc/init/文件夹中有新贵脚本。 description "Discoure process" setuid deploy setgid deploy respawn respawn limit 3 30 start on runlevel [2345] stop on runlevel [06] script exec /bin/bash <<'EOT' echo \"$HOME/.rbenv\" cd /home/deploy/discourse/current bundle exec bluepill load config/discourse.pill --no-privileged --base-dir tmp/bluepill --logfile log/bluepill.log EOT end script 在登台服务器上,它运行良好,但是当我在生产服务器上运行该脚本时,HOME变量为空,代码echo "$HOME/.rbenv"正在评估为"/.rbenv" 这可能是个问题吗?谢谢

3
新贵跟踪错误的进程PID-不重新生成
我最初在StackOverflow上问过这个问题。然后意识到这可能是一个更好的地方。 我有bluepill设置来监视我的delay_job进程。(Ruby On Rails应用程序) 使用Ubuntu 12.10。 我正在使用Ubuntu的启动和监视bluepill服务本身upstart。我的新贵配置位于(/etc/init/bluepill.conf)以下。 description "Start up the bluepill service" start on runlevel [2] stop on runlevel [016] expect daemon exec sudo /home/deploy/.rvm/wrappers/<app_name>/bluepill load /home/deploy/websites/<app_name>/current/config/server/staging/delayed_job.bluepill # Restart the process if it dies with a signal # or exit code not given by the 'normal exit' stanza. respawn …
11 upstart  services  ruby 

4
允许非sudo组控制Upstart作业
我正在尝试设置Upstart作业以在系统启动时运行,并且该作业也可以由以外的其他组成员启动/停止sudo。在以前的版本中,我使用update-rc.d和存储了脚本/etc/init.d/来通过将其添加%Group ALL = NOPASSWD: /etc/init.d/scriptname到sudoers文件中来使其工作,但是对于Upstart,我似乎无法获得等效的工作。 我尝试添加%Group ALL = NOPASSWD: /sbin/initctl start jobname到sudoers文件中,但是尝试运行命令start jobname会产生此错误: start: Rejected send message, 1 matched rules; type="method_call", sender=":1.21" (uid=1000 pid=5148 comm="start jobname " interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init") 据我所知,这是关于如何使我的用户帐户无法在Upstart的D-Bus配置文件中发送“开始”消息的投诉。我实际上无法找到有关如何编辑该文件以授予组访问特定服务的权限的任何信息-是否存在这样的选项?有没有一种方法可以编辑Sudoers文件,这样我就可以运行作业而无需编辑配置文件?我最好还是坚持以前的版本吗?

3
/ sbin / getty进程导致100%CPU利用率
我有一个Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-virtual i686)在主机上作为KVM-VM运行的实例,该主机旁边再运行一个VM。 我使用Capistrano Deployment-gem部署了Ruby on Rails应用程序。 但是,如果我在短时间内连续两次部署,由于该/sbin/getty过程,CPU使用率将跃升至100%。 怎么会这样? 我相信getty是一个相当简单的程序,可以将登录名从终端传递到登录过程。 另外:在我的Capfile(Capistrano配置文件)中,我在部署Rails应用程序后正在运行某些命令,其中包括sudo /sbin/restart <APPNAME>对新贵任务的调用。 可以以某种方式关联吗? 我总是可以取消getty流程,并且问题一直待到下一次部署为止,但是我宁愿理解并解决问题。 任何帮助表示赞赏。附件是我的问题的屏幕截图。
11 server  upstart  ruby 


2
当进程耗时超过10秒时,如何配置upstart在关机时运行脚本?
我正在虚拟机(VirtualBox)中运行ubuntu 11.10,以了解有关Linux开发的更多信息。我正在使用git存储库来保存我的工作,并编写了一个脚本来捆绑我的工作并将其保存到共享文件夹中,以便在虚拟机未运行时使用。 我想在关机前自动运行此脚本,以便在关闭虚拟机时始终可以使用我的工作(当前,我必须手动运行该脚本)。 我不知道新贵是否是实现此目标的最佳方法,但这是我作为测试编写的配置: description "test script to run at shutdown" start on runlevel [056] task script touch /media/sf_LinuxEducation/start sleep 15 touch /media/sf_LinuxEducation/start-long end script pre-start script touch /media/sf_LinuxEducation/pre-start sleep 15 touch /media/sf_LinuxEducation/pre-start-long end script post-start script touch /media/sf_LinuxEducation/post-start sleep 15 touch /media/sf_LinuxEducation/post-start-long end script pre-stop script touch /media/sf_LinuxEducation/pre-stop sleep …
11 shutdown  upstart 

1
新贵服务永远不会启动或完全停止
我正在尝试为Teampeak服务器制作一个简单的暴发户脚本,但无法使其正常工作。 当我说启动initctl时,它只是执行而从未完成,甚至没有发出任何消息。停止也是如此。 为确保我没有做错任何事情,我已经复制了cron脚本并尝试运行它,但是发生的情况相同。 我在这里做错了什么? 更新: 这是我的TS3脚本: # myservice - myservice job file description "my service description" author "Me <myself@i.com>" # Stanzas # # Stanzas control when and how a process is started and stopped # See a list of stanzas here: http://upstart.ubuntu.com/wiki/Stanzas#respawn # When to start the service start on …
11 upstart 

1
“重生太快,停止了”。如何使UPSTART禁用5分钟?
在过去,init守护程序用于禁用重新生成速度太快的任务。 我发现危险在于UPSTART只会阻止它们。永远。 我已经找到了COUNT和INTERVAL控件,用于确定何时停止快速重生的作业,但是我找不到在指定的等待时间后如何重新启动该作业的方法。 这用于必须通过ssh连接的远程服务器,以便我可以隧穿回该服务器。但是它经常有连接问题,运行ssh连接的工作快要死了!我愚蠢地期望新贵保持工作的顺利进行。 有没有办法,还是我需要执行诸如运行cron作业之类的操作来检查它是否正在运行以及是否不重新启动它?

4
全新安装Natty后启动缓慢
时间从Meerkat的20-25秒增加到Natty的35秒。我不知道它是否ureadahead存在,但在启动板中进行了错误报告。我在安装Natty之前不久尝试了Fedora。他们使用systemd而不是upstart并且没有这种慢速启动。 在dmesg中,此跳转显示: [ 3.087606] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) [ 15.292831] <30>udev[308]: starting version 167 启动怎么可能变得如此糟糕?在普利茅斯从纳蒂(Natty)到梅尔卡特(Meerkat)开始飞溅之前,我还有一个“黑屏”。可能是著名的核回归吗?
11 11.04  boot  upstart 

3
从init.d到新贵,有没有桥梁?
我在/etc/init.d中有一个非常好的脚本。实际上,我有很多,都是用Tanuki Java Service Wrapper创建的。 在我看来,可能会有一个简单的模板来将这样的shell脚本包装为新贵的脚本,但是有些搜索并没有显示出来。 我想念什么吗?
11 upstart 

6
如何禁用GDM自动启动?
安装Ubuntu Server 12.04之后,我安装了Xubuntu只是为了拥有一个最小的GUI: sudo apt-get install x-window-system-core sudo apt-get install --no-install-recommends xubuntu-desktop gparted 但是现在我只想在某些情况下开始使用X。在12.04之前,我只发出: sudo update-rc.d -f gdm remove 但是此命令不再起作用。 如何在Ubuntu 12.04上从init停止X?并且在需要时如何启动它? 我已经尝试了这两个问题,但没有gdm.conf: 在ubuntu上网本混音上禁用GDM 如何禁用GDM和图形用户选择?
11 server  gdm  upstart 

2
在安装软件包时重新启动依赖服务的正确方法是什么?
我正在创建一个配置包,并且想停止并重新启动其配置受到影响的服务。现在我正在使用service [stop|restart]in {pre,post}{inst,rm}方式。我读了一个问题的地方,invoke-rc.d是正确的方法,因为它供奉有关服务的用户的喜好。但是,我找不到关于此的任何指南。有人知道这样的准则吗?或对我应该选择哪种方式有任何建议?该软件包仅供内部使用,在未来两年内可能仅用于14.04。但是,我想为继任者留下尽可能清晰的状态systemd,我的想法也是如此。 从invoke-rc.d手册页: Debian软件包的维护者脚本对初始化脚本的所有访问都应通过invoke-rc.d完成。 摘自《 Debian政策手册》第9章第3.3节: 维护人员应使用update-rc.d和invoke-rc.d程序提供的抽象层来处理其程序包脚本中的初始化脚本,例如postinst,prerm和postrm。 ... 软件包维护者脚本必须使用invoke-rc.d来调用/etc/init.d/*初始化脚本,而不是直接调用它们。 Debian一直在使用sysv-init并将直接转移到systemd,我想该政策手册将在适当的时候进行更新以供参考systemctl。但是,我不确定的是:我应该使用invoke-rc.d而不是service吗?我可以告诉dpkg我(通过触发器)对某些文件感兴趣,那么有没有办法告诉dpkg我对某些服务也很感兴趣并可以dpkg重新启动/重新加载呢? 需要说明的是:我不是在编写初始化脚本。我为程序包提供了其他应用程序的配置,例如Puppet,NTP等,因此我停止并重新启动了脚本中的相应服务。 例如,这里是有关invoke-rc.dvs 的Docker问题service。这个问题仍未解决,只有一个人(可能是维护者)评论说,他们绝对有兴趣以正确的方式进行操作-显然我们俩都不确定那是什么。(我的问题与该问题无关。)

2
Upstart不会在logrotation上重新打开日志文件
我们使用新贵来管理我们在Ubuntu服务器上的服务。它们生成的日志已注销到/var/log/upstart/SERVICE_NAME.log 然后每天使用12.04 LTS随附的logrotation脚本轮换日志文件: /var/log/upstart/*.log { daily missingok rotate 7 compress notifempty nocreate } 问题在于,尽管logrotate移动文件,但似乎没有信号指示upstart关闭并重新打开文件,从而使upstart进程写入删除PID。 init 1 root 8w REG 202,1 64 2431 /var/log/upstart/dbus.log.1 (deleted) init 1 root 13w REG 202,1 95 2507 /var/log/upstart/acpid.log.1 (deleted) init 1 root 14w REG 202,1 127 17377 /var/log/upstart/whoopsie.log.1 (deleted) init 1 root 36w REG 202,1 …

5
如何确定bash脚本中新贵作业的状态?
您如何确定Bash脚本中是否正在运行暴发户作业?那就是我需要一个“布尔”值来做类似的事情: #!/bin/bash if [ determine_if_job_x_is_running ]; then echo "I see upstart job X is running, please stop it before ..." fi
10 bash  upstart 

1
编辑后不会重新加载Upstart conf更改
在对upstart conf文件进行一些更改之后,upstart在重新启动系统之前不会重新加载新的更改 start on filesystem or runlevel [23] stop on runlevel [6] respawn expect fork script echo "Starting gunicorn.." > /tmp/upstart_t exec /srv/sms/mwav_messenger/gunicorn_start.sh end script console output 如果要更改此脚本,我将继续获得原始行为。此外,如果我手动停止或启动脚本,则命令行只是挂起,因此我需要按Control-C返回命令行。 干杯。
10 upstart 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.