我是Odoo的新手. 我使用pyenv托管ODOO和所有依赖关系.全部在Odoo系统用户下,我能够启动ODOO服务: ~# systemctl status odoo-15 ● odoo-15.service - Odoo15 Loaded: loaded (/etc/systemd/system/odoo-15.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-02-18 22:33:40 UTC; 6min ago Main PID: 61267 (python) Tasks: 6 (limit: 2339) Memory: 79.3M CGroup: /system.slice/odoo-15.service └─61267 /home/odoo/.pyenv/versions/o
以下是关于 systemd 的编程技术问答
我想做什么? 我正在尝试从/vagrant自动安装的/vagrant进行nginx加载配置. 所以我编辑了nginx.Service将其启动后,在共享文件夹安装后,但行不通. 当然,nginx已在VirtualBox-Guest-utils.service之后启动,但是,它似乎已在Vagrant.mount.mount(/vagrant)之前启动. 因为nginx无法从/vagrant加载配置,并且在手动运行命令systemctl restart nginx.service后起作用. 如何在自动生成的.Mount单元开始后运行.服务单元? 环境 Vagrant 1.8.1 Ubuntu Server 15.10(Ubuntu/Wily64) VirtualBox 5.0.14 Systemctl Cat nginx.Service 模式1:不工作 # /lib/systemd/system/nginx.service # Stop
我已经搜索和搜索了很多,但是我无法正常工作. 我希望Beaglebone启动到我的QT应用程序.但是,我得到的是GUI启动还可以,但是在几秒钟内,Angstrom登录屏幕覆盖了我的GUI,该GUI一直在后台运行. 我设置了一个SystemD服务,如/etc/SystemD/System: #!/bin/sh [Unit] Description=Meta Systemd script [Service] USER=root WorkingDirectory=/home/root ExecStart=/bin/sh -c 'source /etc/profile ; /home/root/meta6 -qws' After=local-fs.target Type=oneshot RemainAfterExit=yes [Install] WantedBy=multi-user.target 我用: 激活它 systemctl enable meta.serv
我是第一次与SystemD纠结,无法真正按照我需要运行,已经通过Google和Man Pages耕种了,但是没有运气. 我需要执行脚本 都会插入USB闪存驱动器(下一步是在删除驱动器时也要运行脚本..但是首先是第一件事. P> 我只能在 中才能触发,或者在循环中触发(幸运的是,启动限制错误会很快失败),只要驱动器保持连接,就可以运行.我不能在插入并在下一个新插入时运行它才能运行. [Unit] Description=USB connected trigger RequiresMountsFor=/media/usb [Service] Type=oneshot ExecStart=/home/hu/hu_restart.sh 我一直在玩不同类型和重新启动选项,但没有运气. hu_restart.sh只是一个运行且存在的脚本,它不会保持活动状态. 有人吗? 一些背景:我有一个脚本运行某种汽车的"头单元",需要知道可以(或不)更改音乐"源"的USB驱动器.
我有一个我不想在启动时间开始的过程的服务,但要以某种方式从已经运行的应用程序(给定时间)称呼它. 另一个选项是在/usr/share/share/dbus-1/services中放置D-Bus(我在应用程序中使用GLIB DBU),并以某种方式从我的应用程序中调用它.另外,我也不是这样做. 假设我的DBUS服务文件来自/usr/share/dbus-1/services com.callThis.service 和我的主要服务文件来自/lib/systemd/system is com.startThis.service 如果我从命令行中运行一个简单的内在: /home/root # dbus-send --session --type=method_call --print-reply \ --dest=com.callThis /com/callThis org.freedesktop.DBus.Introspectable.Introspect D-B
我正在尝试创建一项服务,以由Ubuntu上的.NET应用程序运行. cd/lib/systemd/system/yellowpages.service [Unit] Description = Yellow pages .NET service [Service] Type=forking WorkingDirectory=/home/yp_app ExecStart=dotnet /home/yp_app/YellowPages.dll [Install] WantedBy=multi-user.target ~ 我在/home/yp_app上有我的申请. 我运行时:SystemD启动Yellowpages.Service 我明白了 过多的论点. 所以我尝试了:SystemCtl启动Yellowpages.Service 我得到 Failed to start YellowPages.service: Unit YellowPages.servi
在Ubuntu 14.04到16.04交换后,我一直在新的Redis服务器遇到问题.使用所有指南所说的开放文件限制的配置限制了使用以下设置更改/ETC/Security/limits.conf * soft nofile 65535 * hard nofile 65535 root soft nofile 65535 root hard nofile 65535 以及添加到/etc/pam.d/common-session和/etc/pam.d/common-sessise-nonontractive session required pam_limits.so 我已经进行了所有这些更改,但是Redis仍以4096的文件限制开始,我们在生产负载下我们迅速达到了最大连接. 解决方案 在大量搜索之后,我终于发现SystemD的标准限制为4096,无论您在系统级别设置的设置如何,SystemD级别都将始终优先.解决此问题的方法是通过编辑/etc/syst
我最近将应用程序升级到Dotnet Core 3,并在构建过程中开始使用PublishingLefile标志.通过这两个更改,发现可执行路径的方式已更改.现在,我没有获得可执行文件所在的路径,而是将其重定向到/var/tmp/.net/中的随机目录,而我过去曾经获得/opt/appdir/. Directory.SetCurrentDirectory(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)); 编辑:因此,似乎随机吐痰实际上指向了我的应用程序的未包装版本,该版本不包含其他目录中的重要资源. 解决方案 以下似乎给了您追求的路径,并给原始可执行文件: System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName 其他解决方案 您正在获得实际可执行路径.您只是不明白发生了什么. 使用PublishingLefile
我有一个Python应用程序,我需要作为服务运行,我尝试了许多方法,建议我将其作为Systemd Service 我搜索并尝试了一些代码 这是我的单位代码 [Unit] Description=Airnotifier Service After=network.target [Service] Type=idle Restart=on-failure User=root ExecStart=python3 /home/airnotifier/airnotifier/app.py [Install] WantedBy=multi-user.target 然后我运行以下命令 sudo systemctl daemon-reload sudo systemctl enable airnotifier.service sudo systemctl start airnotifier.service sudo systemctl status airnotifier
我有运行shell脚本的用户服务,该脚本正在尝试访问我的会话的锁定状态: # Test Unity screen-lock: isLocked() { isLocked=$(gdbus call -e -d com.canonical.Unity -o /com/canonical/Unity/Session -m com.canonical.Unity.Session.IsLocked) } lock() { if [[ $isLocked == "(false,)" ]]; then gnome-screensaver-command -l elif [[ $isLocked == "(true,)" ]]; then
我已经与Python&Django框架一起工作了一段时间,Ubuntu 16.01.由于我将Django与Q系统(芹菜)和其他一些增强应用程序一起使用.当我每次尝试运行所有应用程序时,我需要运行开发服务器" {python manage.py runserver}",然后运行芹菜工人" {celery -a filename worker -l info}".每次我工作时,我需要几分钟才能进入目录并启动它.我四处张望,想出将其设置为服务的想法.示例,服务名称:" PYD". 我只需要运行" {sudo pyd start}" - >然后django开发服务器和芹菜将开始,如果我运行" {sudo pyd stop}" - > django&celery将停止. . 我尝试搜索,事情开始使我感到困惑,在" Upstart"和" Systemd"之间. 任何人都可以建议,我如何使django和芹菜在Ubuntu运行时同时制作芹菜?在" Upstart"和" Systemd"之间
在Ubuntu WSL2上安装MongoDB 我尝试在使用systemd :"System has not been booted with systemd as init system (PID 1)"以及我该如何解决... 我完全是Linux体验的初学者. 我已经搜索了这个问题,显然,在WSL中使用Dockter的人有一个问题,但是我不知道在我的情况下该怎么办. 谢谢 整个错误: Setting up mongodb-org-server (4.4.4) ... System has not been booted with systemd as init system (PID 1). Cant operate. Failed to connect to bus: Host is down dpkg: error processing package mongodb-org-server (--configure): installed mongodb-org-s
我们试图在Ubuntu 16.04.2的启动时间使Obossh连接到远程服务器.因此,我们使用SystemCTL来完成这项工作.脚本如下: [Unit] Description=Keeps a tunnel to 'remote server' open After=network.target [Service] ExecStart=/usr/bin/autossh -NR 83232:localhost:22 -i /home/user/.ssh/id_rsa REMOTE_USER@REMOTE_IP [Install] WantedBy=multi-user.target 如果我们使用start 开始服务,则可以正常工作 systemctl start SERVICE ,如果我们使用启用服务 ,那将失败 systemctl enable SERVICE 错误代码为 " SSH:连接到主机远程_ip端口22:网络无法实现" 任何人都可以提供
希望在Ubuntu的SystemD守护程序服务方面获得一些帮助.我写了一个python脚本,我写的是禁用戴尔XPS上的触摸屏,这是一个问题,而不是一个有用的功能.该脚本有效,但我不想一直启动它,这就是为什么这个想法来我撰写服务文件并让Systemd在启动上启动它的原因. 我遇到的问题是"(code =退出,状态= 1/失败)".这是我的第一次,在尝试此事之前,我做了一些研究,但是目前我无法弄清楚.任何想法都将不胜感激. 这是" SystemCtl状态禁用ts.service输出: ● disable-ts.service - Disable TouchScreen Loaded: loaded (/etc/systemd/system/disable-ts.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sat 2019-02-23 01:
我可以从外壳执行精确的ExecStart命令,但由于此服务文件中的某些原因,这无效 - 任何想法吗? 错误: Failed to start previewapi.service: Unit previewapi.service is not loaded properly: Exec format error. See system logs and 'systemctl status previewapi.service' for details. SystemD .Service文件: [Unit] Description = preview-api After = network.target [Service] WorkingDirectory=/srv/previewapi ExecStart = /usr/bin/java -jar /srv/previewapi/gn-preview-api-0.1.0-SNAPSHOT-stand
我很久以前就进行了一些自定义Systemd服务,所有这些服务都具有相同的配置(当然是Execstart除外) 这种配置工作了多年,自第18.04 lts以来,我已经启动并运行了Ubuntu,但是现在看来其中一些SystemD服务根本没有启动启动,配置如下(MyApp.Service): [Unit] Description="myapp" After=syslog.target network-online.target Wants=network-online.target [Service] Restart=always RestartSec=10 User=root Group=root WorkingDirectory=/opt/myapp ExecStart=/usr/local/bin/myapp KillMode=control-group [Install] WantedBy=multi-user.target 启用了服务: $ sudo sys
我在我的Docker容器上有一个Ubuntu 18.04映像运行.我登录并安装Openresty.也安装了systemd.当我使用命令systemctl时,我会得到此错误: System has not been booted with systemd as init system (PID 1). Can't operate. 我该如何修复? 解决方案 如果我了解OP,他正在尝试在容器中运行SystemCtl .这是不起作用的,因为SystemD在容器中没有开始运行.它不能在无私人的容器中完成.这里还有另一个问题,关于为什么他不应该运行Systemd Systemd在容器中. 我迅速谷歌搜索并找到了有关显而易见的解决方案是拥有一项服务,因此不需要SystemD,尽管在OP的情况下可能是不可能的. 总而言之,可能的解决方案: 不使用Systemd 使用特权容器 不使用Docker 其他解决方案 在您的终端中,您可以输入: $ sudo
我已经用DOCKER_OPTS="-H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock"更改了/etc/default/docker(docker版本1.4.1在ubuntu 14.04中),但对我没有任何影响(不在port 2375上听).看来Docker没有读取此初始配置文件,因为我发现export http_proxy enviroment也无法正常工作. 仅sudo docker -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock -d作品. 真的让我感到困惑! 解决方案 根据 Docker文档,为您的Docker Daemon配置守护程序标志和环境变量的推荐方法是使用 Systemd drop-in-> drop-in-file . 因此,对于这种特定情况,请执行以下操作: 使用命令sudo systemctl edit docker
问题 似乎systemd在Ubuntu Docker容器中没有活动或可用. 设置 我正在运行ubuntu:16.04和ubuntu:16.10图像的Docker容器. 测试 如果我执行: systemctl status ssh在16,04容器中 结果是错误Failed to connect to bus: No such file or directory 在16.10容器中,错误是:bash: systemctl: command not found. 如果我在16.04容器中找到which systemctl systemctl,但在16.10容器中找不到. 我发现存在/lib/systemd. 我尝试使用以下方式安装SystemD: apt-get install systemd libpam-systemd systemd-ui 然后which systemctl在16.10 中找到systemct
我有一个service,在某些情况下,我想为journald守护程序创建日志.到目前为止,我还找不到有关如何这样做的任何说明. 我是否误解了journal的预期用途?还是我缺少的是真的很明显? 解决方案 如果您有服务,则将日志写入标准错误. (它甚至可以作为C ++中名为std::clog的流提供,其语义比std::cerr.)就是这样.这是一种与SystemD,Daemontools,Daemontools-Occore,Runit,S6,Perp,Nosh,Freedt等一起使用的记录机制. 有一个API写作SystemD Journal.但是,请确保您有一个很好的理由将软件锁定和用户进入该API.写入标准错误是一种机制,几乎无处不在.管理员可以很好地理解且易于控制,调整和理解.它应该是首选. 进一步阅读 乔纳森·德·博恩·波拉德(Jonathan de Boyne Pollard)(2015年). logging' . Daemontools家族.经