问题标签 [systemd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
714 浏览

plone - 克隆和 systemctl

我尝试将 Plone 与基于 systemctl 的启动集成(在 openSUSE 12.3 上)

作为第一次尝试,我有一个非常简单的 plone.service 文件

检查 systemclt status plone 我看到进程已启动,但它们立即再次消失。我也试过Type=Daemon,但结果是一样的。有什么提示是我的错误吗?

该服务实际上成功地找到/执行了 plonectl 脚本,只是进程很快死亡

我确实有一个 SysV 风格的初始化脚本,它通过 systemctl 工作,但我认为拥有一个服务文件会很棒,因为它应该比各种浮动的初始化脚本更通用。

0 投票
3 回答
2919 浏览

ruby-on-rails - 在服务器启动时启动 ruby​​ rake 任务

我有几个 Rails rake 任务需要在服务器启动时启动。我一直在寻找使用 systemd 让它们作为传统服务运行。服务文件是在下面创建的,/etc/system/systemd但不幸的是,systemd 似乎没有找到该文件:

我目前正在使用 Fedora 15

如何使我的 systemd 服务正常工作?有没有另一种方法可以让我的 rake 任务在系统启动时运行。

更新: screens.service 文件内容

我知道当我需要它在启动时工作时我需要设置依赖项,但目前我正在尝试使用 systemctl 命令启动我的 rake 并稍后担心它的依赖项。

0 投票
2 回答
882 浏览

fedora - 我在 Fedora 18 上有一个 SysV 初始化脚本。如何在网络准备好后启动它?

我在 Fedora 18 上有一个 SysV 初始化脚本。Fedora 18 使用 systemd(显然,没有办法切换回 SysV)。

我的脚本需要网络准备好。目前,在脚本运行时,网络还没有准备好。如何确保我的 SysV 初始化脚本在网络启动后运行?

我的脚本的开头如下所示:

0 投票
1 回答
4542 浏览

erlang - 有没有办法阻止 Erlang 服务器自动启动 epmd?

如果 Erlang 服务器尚未运行,它将自动生成 epmd(Erlang 端口映射器守护进程)。我更愿意使用 systemd 作为单独的服务来管理 epmd。这样如果我在一台主机上运行多个 Erlang 服务器(例如 RabbitMQ 和 ejabberd),如果自动生成 epmd 的服务器关闭,epmd 不会消失。systemd 将在服务关闭时清理任何杂散进程,因此自动生成的 epmd 将无法生存。

在启动任何 Erlang 服务器之前,我主要可以通过确保 epmd 作为单独的服务运行来处理这个问题,但我想进一步确保 epmd 仅作为单独的服务运行。

0 投票
1 回答
5086 浏览

hadoop - mac osx 10.8.4 上缺少 systemd

我最初的目标是安装 hadoop,但我被困在“ssh localhost”这一步。

ssh:连接到主机 localhost 端口 22:连接被拒绝

很少有在线帮助,例如http://zhegu.wordpress.com/2012/10/30/connect-to-host-localhost-port-22-connection-refused/

提示我使用 systemctl 来启用 sshd,但后来我发现 /usr/bin 中没有 systemctl

另一个提示是安装 systemd 包以获得 systemctl。然而,我没有找到关于在哪里可以获得 systemd 的更多信息。

不过,在 osx 10.7 上安装 hadoop 似乎是可行的。(http://dennyglee.com/2012/05/08/installing-hadoop-on-osx-lion-10-7/)所以我推测应该有一些方法可以解决我的问题。

提前感谢您的帮助!

0 投票
1 回答
549 浏览

tizen - 在 Tizen 上连接到 systemd 的用户实例

所以,我已经阅读了移植指南(https://wiki.tizen.org/wiki/Porting_Guide)。有一个名为“Tizen Bootup Overview”的部分。本节说明 systemd 守护程序的用户实例已运行。当我运行模拟器时,我可以看到它,ps aux | grep systemd并且我看到它是由 user 运行的app。但是当我systemctl --user list-unitsapp用户身份输入时,我会收到以下消息Failed to issue method call: Failed to execute program /bin/false: Success。但是,当我/usr/lib/systemd/systemd --user &app用户身份输入并且仅调用 list-units 方法时,它运行正常。请问我对跑步有什么不明白的地方systemctl --user list-units

据我了解,DBus 服务文件已经将 /bin/false 作为指定的可执行文件,以避免systemd --user意外激活 DBus。但是看看systemctl我看到的来源,当使用--user选项运行时,它会尝试连接到 DBus 以"unix:path=$XDG_RUNTIME_PATH/systemd/private"

我对 systemd 和 dbus 都很陌生。我尝试/usr/lib/systemd/systemd --user &在我的程序连接到 systemd 之前调用它并且它工作,但 systemd 开始执行用户目标。我连接到 DBus dbus_bus_get(DBUS_BUS_SESSION, &err)(DBUS_BUS_SESSION是连接到用户实例,正如我通过查看来源了解的那样systemd & Co)

PS:Tizen 使用systemd v43

提前致谢。

对不起我的英语不好。

0 投票
1 回答
337 浏览

tizen - systemd的用户实例是如何启动的?

所以,我已经阅读了移植指南(https://wiki.tizen.org/wiki/Porting_Guide)。有一个名为“Tizen Bootup Overview”的部分。

在 Tizen 中如何启动 systemd 的用户实例?我知道它什么时候开始,但谁来做呢?

0 投票
2 回答
11273 浏览

python - 从systemd运行持久的python脚本?

我有一个 python 脚本,可以解码来自 USB 设备的输入并将命令发送到 php 脚本。从控制台运行时,该脚本运行良好,但我需要它在启动时运行。

我创建了一个 systemd 服务来启动脚本,它似乎运行良好,除了该systemctl start service-name过程永远不会让我返回命令提示符。在它运行时,我可以完全按照预期与输入设备进行交互。但是,如果我用 ctr-z 退出systemctl start进程,脚本只会运行几秒钟。

这是我编写的 .service 文件:

这是我的python脚本:

如何让脚本从服务文件异步运行,让启动命令完成,脚本可以在后台继续运行?

0 投票
1 回答
2271 浏览

python - python 应用程序(守护进程)和 systemd fedora

我有带有循环的 python 应用程序,它生成一些文件,保存视频图像和其他一些东西。我将它安装在 Fedora (17) PC 上并希望它“永远”运行,即如果它挂起(我可以将一些 keep_alive 放入循环文件中) - 它应该重新启动。它也应该在重新启动时启动。据我了解,python-daemon 有助于做到这一点,并且在 Fedora 中使用 systemd。我有以下 systemd 配置文件(我不确定某些参数,因为文档对于我的 linux 知识水平来说太复杂了):

这是我的testd.py:

当我用“sudo systemctl start tpr.service”运行它时,它会挂起一段时间,然后用这个消息取消:

警告:磁盘上的 tpr.service 单元文件已更改,建议使用“systemctl --system daemon-reload”。tpr.service 的作业失败。有关详细信息,请参阅“systemctl status tpr.service”和“journalctl -xn”。

以下是来自 /var/log/messages 的一些日志:

所以它应该正在运行,但是这个错误是什么?也许有一些简单方便的方法来完成我的任务,我正在发明自行车?

更新:

似乎守护进程应该以某种方式让 systemd 知道它已经启动..但是如何?

0 投票
2 回答
14956 浏览

linux - Linux:在连接的 USB 串行加密狗上启动守护程序

在我的 Linux(BeagleBone Black 上的 Angstrom 发行版)上,我有一个 USB 加密狗,它显示为串行端口,默认情况下可用作/dev/ttyUSB0

我想启动一个守护进程,它将连接到串行端口并使其作为套接字可用。我有这个 USB 到插座桥接器的代码,它在手动启动时工作。

我希望它在系统启动时自动启动,假设 USB 加密狗已插入。我应该怎么做?

迄今为止的尝试:

  1. systemd:我创建了一个带有条件After: remote-fs.target和的 systemd 服务After:syslog.target,但是(似乎)USB 加密狗当时还没有准备好,并且守护程序的启动失败。

    是否有其他 systemdtargetsservices条件,以便仅在 udev 完成设备安装并且网络准备好时启动守护程序?

  2. udev:我创建了一个 udev 规则,例如

    KERNEL=="ttyUSB?", RUN+="/path/to/daemon.sh"

    成功执行。但是守护进程(在该脚本中作为后台进程启动,带有“&”)似乎没有执行。从 udev 规则中分叉长时间运行的进程似乎也令人不悦。

正确的方法是什么?