问题标签 [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.
bash - 在 systemd 引导期间访问标准输入
我有一个脚本,它在启动计算机时向用户请求数字输入。计算机正在运行 Fedora 16。它在 Fedora 13 上使用过工作,但在升级之后
立即返回,而不捕获任何用户输入。我试过了
但是(可以预见)那也行不通。该脚本从 systemd 服务文件运行(请参阅下面的注释)。它必须以 root 身份运行,并且必须在用户登录之前启动。它目前调用 bash 作为它的解释器,但通过一些努力,可以改变它。谁能帮助这个脚本恢复正常?
额外的功劳:在 F13 中,它曾经停止引导用户输入(根据需要),但在用户键入时输入未显示。有没有办法添加这个功能?
linux - 来自非 root 用户的单位(用于命令启动/停止/启用/禁用)
我想在启动时通过systemd
(操作系统是 Fedora Core 16)从一些非 root 用户(例如michael
)执行我的脚本。
我不需要 root 权限 - 我只想在启动时和关闭时运行我的一些单元在systemd
. 而且我不想为此打开root
用户。我只想使用systemd
单元语法的力量来启动和监视我的进程(当然没有 root 访问权限)。可能吗?
我在文档中没有找到任何帮助。我只发现systemd(1) -> DIRECTORIES -> "User unit directories"
:
但是/usr/lib/systemd/user
是:
drwxr-xr-x。2根根
我无法想象如何以非 root 用户身份使用此目录...
perl - 如何重新加载 mojolicious 内置的网络服务器守护进程?
我从 复制了这个systemd
service
文件lighttpd-package
并对其进行了调整以systemd
启动 mojolicious 内置服务器守护程序。我可以保留mojolicious 守护进程ExecReload
的设置吗?KillSignal
networking - 如何将 Unix POSIX 文件描述符或标准输入句柄转换为套接字?
在inetd和systemd类型的系统中,系统可以绑定套接字并使用已经存在的套接字启动应用程序,例如提供基于套接字的服务启动。我想在我的一个 Haskell 守护程序中利用此功能。
守护进程当前调用 , ,socket
来创建一个我以后可以调用的对象。要将其更改为类型系统,我需要将标准输入用作 a ,但到目前为止我能找到的只是, 或- 两者都不是我需要的。bindSocket
listen
Socket
accept
inetd
Socket
stdin :: Handle
fdToHandle :: CInt -> Handle
我似乎找不到任何类型的东西Handle -> Socket
,也找不到任何类似的东西stdin :: Socket
。我能找到的最接近的mkSocket
是非常低级的,并且大多数其他语言(即Ruby)都提供了将文件描述符转换为套接字的调用,而无需指定各种其他参数。
python - Python 守护进程和 systemd 服务
我有一个简单的 Python 脚本作为守护进程工作。我正在尝试创建 systemd 脚本以便能够在启动期间启动此脚本。
当前的 systemd 脚本:
节点.py:
run
包含while True
循环。
我尝试使用systemctl start zebra-node.service
. 不幸的是,服务从未完成说明序列 - 我必须按 Ctrl+C。脚本正在运行,但状态为激活,一段时间后变为停用。现在我正在使用 python-daemon (但在我尝试不使用它并且症状相似之前)。
我应该为我的脚本实现一些附加功能还是 systemd 文件不正确?
qt - 使用 systemd 自动启动的 Qt GUI 实例不响应输入
我有一个嵌入式 Linux 板,它使用 systemd 进行启动过程。我还有一个用 Qt 编写的 GUI,我可以从命令行很好地启动它,并使用电路板的触摸屏或按钮进行交互。要启动应用程序,我通常会这样做:
我希望它使用 SystemD 自动启动,所以我编写了一个如下所示的服务文件:
当板子启动时,我在 systemd 日志中看到它在 dropbear SSH 服务之后立即启动我的 gui:
如果我在启动后通过 SSH 连接到主板并运行“ps”,我可以看到我的进程已启动(如果我杀死它,它会按预期从 systemd 重新启动):
systemctl status 的输出对我来说看起来不错,请注意最后一行 'ARM build' 是我的代码中的 qDebug() 打印语句:
但是,我根本无法与使用 systemd 启动的 GUI 实例进行交互!如果我从命令行启动辅助实例,则可以按下按钮或触摸屏,GUI 会在屏幕上弹出并按预期工作。是什么赋予了?我在服务文件中尝试了“Type=forking”,但这也无济于事。关于这里有什么问题的任何想法?我怎样才能让 systemd 启动我的 Qt GUI,就像我从命令行启动它一样?谢谢 -
unix - 从 C/C++ 应用程序启动 systemd 服务或调用 D-Bus 服务
我有一个 .service 用于我不想在启动时启动的进程,而是在给定时间从另一个已经运行的应用程序中以某种方式调用它。
另一种选择是将 D-Bus(我在我的应用程序中使用 glib dbus)服务文件放在 /usr/share/dbus-1/services 中,并以某种方式从我的应用程序中调用它。另外,我也无法做到这一点。
假设我的 dbus 服务文件来自/usr/share/dbus-1/services
iscom.callThis.service
和我的主要服务文件来自/lib/systemd/system is com.startThis.service
如果我从命令行运行一个简单的内省:
D-Bus 服务文件将被调用,它将启动 Exec ( com.starThis ) 中的内容。问题是我想使用 D-Bus glib 从 C/C++ 代码中实现这一点。
linux - 通过 ConsoleKit 或 systemd 限制登录用户对 D-Bus 的访问
我需要将 D-Bus 服务的客户端限制为仅通过 ConsoleKit 或 systemd 在本地登录系统的用户。我必须如何配置或编写 D-Bus 服务才能做到这一点?
virtualbox - Virtualbox Headless: not starting via systemd
Already tried this Topic but doesn't solved it
I have placed a file called vbox.service under /lib/systemd/system/vbox.service with the following content:
If I start and stop it via
sudo systemctl start vbox
and sudo systemctl stop vbox
, everything works fine
Then i entered the following:
sudo systemctl enable vbox
, but it wont start at boot
Here is the output
/usr/bin/VBoxHeadless --startvm 4decf7c1-7eda-461c-92aa-835d2405a22e works fine Any ideas, though?
linux - Linux 中使用 systemd 的启动脚本
请问下面这个启动服务,运行一次没有报错,但是下面的服务器脚本没有运行!
谢谢
水族馆服务:
这是 server.sh 脚本