标签: upstart

通过 upstart 运行短期任务

操作系统:Ubuntu 12.04

任务:在某些启动/停止条件下运行脚本。不会启动长期运行的服务/守护进程,仅启动短期操作。

新贵脚本test.conf:

description     "test script"

start on local-filesystems or runlevel [2345]
stop on runlevel [!2345]

task

pre-start exec /full/path/to/script.sh start
pre-stop exec /full/path/to/script.sh stop
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 运行“开始测试”永远不会结束。如果我按 Ctrl-C 挂起暴发户,进一步的“状态”调用将显示服务正在运行。
  2. “停止测试”根本不会导致运行“预停止”节。

原始任务可以使用新贵脚本解决吗?

谢谢。

更新。“事实上,您的 script.sh 具有启动和停止操作,这确实表明有一个长期运行的守护进程”

没有矛盾。有启动操作和清理操作,中间没有长时间运行的进程。

当我添加“exec”节时,即

exec /full/path/to/script.sh idle
Run Code Online (Sandbox Code Playgroud)

结果是这样的:

$ start test
test stop/waiting

$ status test
test stop/waiting

$ stop test
stop: Unknown instance:
Run Code Online (Sandbox Code Playgroud)

更正:节中提到的脚本是使用“start”和“idle”参数执行的,但不使用“stop”参数执行。

scripts upstart

5
推荐指数
1
解决办法
4554
查看次数

与新贵相比,Systemd 真的很慢

我已经使用Ubuntu很长时间了,这是我使用时发生的情况:

Systemd:
它的性能非常糟糕systemd:它一直使用 95% 的 CPU,而且 PC 变得非常热。启动也需要很长时间(大约 1.5 分钟,有时它根本无法启动,因为它在启动时出现黑屏。)

新贵:
当我upstart在启动时尝试这些选项时,它按预期执行,在几秒钟内启动,它应该是很棒的。

笔记本电脑:

  • AMD A8
  • 雷电
  • 固态硬盘

问题:

  1. 为什么 upstart 的表现比systemd?
  2. 我该如何调试systemd
  3. 我应该切换到新贵吗?如果是,我该怎么做?

boot upstart

5
推荐指数
1
解决办法
1719
查看次数

Upstart 是否为 SysV 作业发出钩子?

我想在 System V 作业 ( /etc/rc0.d/S40umountfs)之前立即启动 Upstart 作业。我试过指定:

start on starting umountfs
Run Code Online (Sandbox Code Playgroud)

但 Upstart 无法识别脚本的名称:

$ initctl check-config 
collapsefs
  start on: unknown job umountfs
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

upstart

4
推荐指数
1
解决办法
1726
查看次数

在 11.10 启动时运行命令

所以我对如何在我的 Ubuntu 11.10 服务器上创建启动脚本感到困惑。我已经阅读了关于init-scripts、upstart-jobs 等的内容,但我读得越多,就越感到困惑。

我尝试了各种指南,但我还没有找到真正有效的人。

有人可以告诉我如何创建一个可以在 11.10 中运行的简单脚本吗?

bash upstart init 11.10

4
推荐指数
1
解决办法
6471
查看次数

如何使用 Upstart 脚本启动 GUI 应用程序

我有一个 python gtk 应用程序,我需要在用户登录时运行。即使 x 正在运行,我也无法启动任何 gui 应用程序。

当我登录 X 时,我从下面的 upstart 脚本中发出事件

guitest
Run Code Online (Sandbox Code Playgroud)

使用 initctl,我得到

initctl: Event failed
Run Code Online (Sandbox Code Playgroud)

这是我的脚本示例,除了我用我的应用程序替换了 gedit。如何修改此脚本以便 gedit 或我的 python gtk 应用程序将启动?

task

start on desktop-session-start  or guitest

script
    gedit
end script
Run Code Online (Sandbox Code Playgroud)

upstart

4
推荐指数
1
解决办法
4818
查看次数

为什么我不能在 12.04 LTS 中重新启动 cron 守护进程?

我刚刚更改了服务器上的时区,因此需要重新启动 crond 以便它接收更改,但是当我尝试时,会发生以下情况:

root@s2:/# service cron restart
stop: Unknown job: cron
start: Unknown job: cron
Run Code Online (Sandbox Code Playgroud)

或者

root@s2:/# /etc/init.d/cron restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service cron restart
initctl: Unknown job: cron

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop cron ; start cron. The restart(8) utility is also available.
Run Code Online (Sandbox Code Playgroud)

进程列表说:

root@s2:/# ps aux | …
Run Code Online (Sandbox Code Playgroud)

cron upstart

4
推荐指数
1
解决办法
1万
查看次数

如何使用 upstart 启动 GUI 应用程序?

我已经与这个问题斗争了三天,我尝试了很多方法来解决它,但还没有成功。我希望你们能帮助我...

我有一个 GUI 应用程序。我想自动启动这个应用程序。当它意外关闭或关闭时,我想重新打开此应用程序。

我尝试使用 upstart 脚本,但是尽管 upstart 的服务没有问题,但 GUI 应用程序并未以 upstart 脚本启动。它说无法连接 X 服务器。

我应该添加或更改一些设置以使用 upstart 打开还是有任何方法可以在发生意外退出或关闭时自动打开 GUI 应用程序(不仅仅是登录后一次,我的意思是不是使用 Startup)?

scripts upstart

4
推荐指数
1
解决办法
7470
查看次数

将 upstart 用于非守护进程任务

我想foo do-startup-things在启动时foo do-shutdown-things运行,并在关闭时运行foo我自己的程序。

看起来 Upstart 是一个很好的候选者,但 Upstart 似乎是为与守护程序一起使用而设计的,因此运行service foo stop会产生错误,stop: Unknown instance:因为运行启动作业时执行的进程不再运行。

有没有办法在不启动守护进程的情况下使用 Upstart 在启动和关闭时执行任务?

startup shutdown upstart

4
推荐指数
1
解决办法
1237
查看次数

从 GRUB 中删除 upstart 选项

对于我在 15.04 安装中使用的每个内核,我在 GRUB 中有三个选项:

  • 正常(系统)
  • 暴发户
  • 恢复

如何删除upstart所有内核的选项?

grub2 upstart kernel 15.04

4
推荐指数
1
解决办法
3129
查看次数

什么是暴发户,为什么它在 ~/.cache 中创建了一个 38.1 GB 的文件

今天我随机收到一个“磁盘已满”对话框,表明我只剩下 1gb 在 / 上,这很快变成了 100mb 的可用空间。

所以我运行了磁盘分析器,在 ~/.cache/upstart 中发现了一个巨大的 38.1 GB

当我打开这个文件夹时,有很多事情的 229 个日志,看起来像是彼此的备份这里是几个例子

at-spi2-registryd.log.1.gz
at-spi2-registryd.log.2.gz
at-spi2-registryd.log.3.gz

gnome-keyring-ssh.log.1.gz
gnome-keyring-ssh.log.2.gz
gnome-keyring-ssh.log.3.gz
Run Code Online (Sandbox Code Playgroud)

所以我的问题是

为什么这个增长这么大?

什么是暴发户,上述文件夹中保存了哪些日志?

我可以删除它们以快速修复吗?

filesystem partitioning upstart 14.04

4
推荐指数
1
解决办法
6642
查看次数

标签 统计

upstart ×10

scripts ×2

11.10 ×1

14.04 ×1

15.04 ×1

bash ×1

boot ×1

cron ×1

filesystem ×1

grub2 ×1

init ×1

kernel ×1

partitioning ×1

shutdown ×1

startup ×1