Questions tagged «systemd»

systemd是Linux的SystemV和Upstart初始化守护程序的替代方法。它旨在提供一个更好的框架来表达服务的依赖性,允许在系统启动时并行完成更多工作,并减少Shell开销。

2
添加VirtualHost conf文件后,apache无法重启,为什么不呢?
在CentOS 7服务器中,在以下位置sudo apachectl restart添加包含文件后输入时,出现以下错误httpd.conf: Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details. 当我输入时sudo systemctl status httpd.service -l,结果是: httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled) Active: failed (Result: exit-code) since Tue 2014-12-23 20:10:37 EST; 2min 15s ago Process: 2101 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, …

3
如何使用systemd创建用户cgroup
我在中使用非特权lxc容器Arch Linux。以下是基本的系统信息: [chb@conventiont ~]$ uname -a Linux conventiont 3.17.4-Chb #1 SMP PREEMPT Fri Nov 28 12:39:54 UTC 2014 x86_64 GNU/Linux 这是一个具有以下内容的自定义/编译内核user namespace enabled: [chb@conventiont ~]$ lxc-checkconfig --- Namespaces --- Namespaces: enabled Utsname namespace: enabled Ipc namespace: enabled Pid namespace: enabled User namespace: enabled Network namespace: enabled Multiple /dev/pts instances: enabled …




2
为什么sudo -i不为目标用户设置XDG_RUNTIME_DIR?
XDG_RUNTIME_DIR是systemctl --user工作所必需的。 我已经设置了ubuntu服务器16.04来运行systemd用户会话。现在,当尝试管理它们时,我发现当通过sudo -u $user -i甚至更改用户时su - $user,环境尚未XDG_RUNTIME_DIR设置,无法systemctl --user正常工作。但是,当我ssh直接进入该用户时,它的设置正确。 如果我正确理解了文档,则应libpam-systemd在创建用户会话时进行设置。用户切片已正确启动,因为XDG_RUNTIME_DIR应该/run/users/$uid存在指向point()的目录。我很犹豫只是将其硬编码进去,.bash_profile因为当pam应该照顾它时,这似乎很麻烦(尽管可行)。 我可以,当然,加XDG_RUNTIME_DIR至env_keep在sudoers,但这只是保持sudoing用户的环境,这是不是我想要的。我想要目标用户的环境。 我真正想知道的是,如何使用正确设置会话ssh,但不能使用suor 正确设置会话sudo -i?
14 ssh  systemd  sudo  pam 

3
在特定时间启动/停止systemd.service
我想在特定时间启动和停止systemd.service。大概我将使用.timer单元来开始工作,但是是否有一种内置的方式在特定的持续时间或特定的时间之后停止该工作,还是我必须创建另一个执行该.timer的.timer单元stop? 谢谢

5
systemd:如何检查延迟关机的计划时间?
我shutdown -h TIME/+DELAY有时喜欢用。但是,自从切换到systemd(在Ubuntu上)以来,情况似乎已经发生了很大变化。 除了以前的关闭命令不再阻止运行新命令之外,我无法弄清楚如何检查当前关闭进程的计划关闭时间。 我过去只是ps aux | grep shutdown看计划的关机时间。 现在,使用systemd时,它仅显示如下内容: root 5863 0.0 0.0 13300 1988 ? Ss 09:04 0:00 /lib/systemd/systemd-shutdownd 如何检查该过程的预定关机时间? 我试过了shutdown -k,但似乎不只是写留言,它还计划将关机时间更改为现在的+1分钟。
14 systemd  shutdown 

1
如何编写systemd服务单元文件,以便它在启动之前一直等到特定接口启动?
我正在尝试在Debian上为hostapd编写一个单位文件。 hostapd守护程序似乎在运行或SEGV之前需要相关Wifi接口的接口。 我已经尝试过network-online.target,但仍然可以获得SEGV。我认为这是因为network-online.target仅需要查看ANY接口,并且在Wifi接口足以使hostapd正常工作之前,会启动其他接口。 在启动之前让服务等待特定接口启动的最佳方法是什么?
14 systemd 

2
如何配置带有日志的单位日志存储策略?
我有一项特别的服务,它会记录罕见但重要的信息。我已经在几个月前进行了设置,而今天我journalctl -n 50 --unit=my-service只发现没有条目。 我对大多数单位的这种行为感到非常满意-我要么需要立即(或最多几天前)发生的事情,而且我不在乎已有数月历史的记录。 但是,有没有办法告诉journald您为单个特定单位的记录制定独立的存储和保留策略?我想将这些特殊的日志保存5年,无论它需要多大大小。其他单位的日志应不受此影响,并保留其现有行为。 我有点不了解journald.conf(5),无法确定每单位的配置是否可行。如果是的话(请看一个简短的具体示例),我应该编辑/创建哪个文件,我应该写什么。或者,如果您确定肯定不可行,那也是一个很好的答案。 注意:我的特殊情况涉及Arch Linux主机,但是我想这应该没多大关系。

2
在桌面环境中使用和了解与系统调度有关的选项
在systemd服务文件中,可以设置以下与调度有关的选项(在systemd.exec手册页中,如果我输入错了,请纠正我): 尼斯 为执行的进程设置默认的尼斯级别(调度优先级)。取介于-20(最高优先级)和19(最低优先级)之间的整数。有关详细信息,请参见setpriority(2)。 这是熟悉的不错的水平。由于最近的Linux内核具有“自动分组”功能,因此其效果似乎已“被颠覆”。因此,以下选项可能是我真正想要设置的选项,以使进程保持良好的桌面体验。 CPUSchedulingPolicy 设置已执行进程的CPU调度策略。采用其他,批处理,空闲,fifo或rr中的一种。有关详细信息,请参见sched_setscheduler(2)。 CPUSchedulingPriority 设置已执行进程的CPU调度优先级。可用优先级范围取决于所选的CPU调度策略(请参见上文)。对于实时调度策略,可以使用1(最低优先级)和99(最高优先级)之间的整数。有关详细信息,请参见sched_setscheduler(2)。 CPUSchedulingResetOnFork 采用布尔参数。如果为true,则将在执行的进程派生时重置提升的CPU调度优先级和策略,因此不会泄漏到子进程中。有关详细信息,请参见sched_setscheduler(2)。默认为false。 我了解最后的选择。从前两个方面的解释中可以得出,我可以选择一个调度策略,然后根据该策略确定优先级。对我来说,尚不清楚我应该为哪种任务选择什么。例如,为备份任务选择“空闲”是否安全(因为要进行重复数据删除,因此占用大量CPU,还是比较安全)? 总的来说,我想要的是对每个策略都有一个易于理解的概述,以及每个策略的优先级和针对特定目的的适用性。同样,与尼斯水平的相互作用也是令人感兴趣的。 除了CPU调度,还有IO调度。我猜这对应于ionice(如果我错了,请纠正我)。 IOSchedulingClass 设置已执行进程的I / O调度类。取0到3之间的整数,或者取值为none,实时,最大努力或空闲字符串之一。有关详细信息,请参见ioprio_set(2)。 IOSchedulingPriority 设置已执行进程的I / O调度优先级。取0(最高优先级)到7(最低优先级)之间的整数。可用优先级取决于所选的I / O调度类(请参见上文)。有关详细信息,请参见ioprio_set(2)。 我们在这里看到的结构与CPU调度相同。我也在寻找相同的信息。 对于所有的“计划”选项,所指的手册页对我来说还不够清楚,主要是在将内容翻译成某种程度上具有技术倾向的台式机用户的观点。

1
如何在Systemd服务中设置环境变量
我正在使用ROS,它已经正确安装在Ubuntu上。 要运行ROS,我们必须先source /opt/ros/kinetic/setup.bash执行roscore。如果我roscore不执行source setup.bash该命令,roscore则找不到该命令。 现在,我想在系统启动时执行ROS。 我已阅读此链接:https : //askubuntu.com/questions/814/how-to-run-scripts-on-start-up 看来我只需要创建一个自定义服务文件并将其放入/etc/systemd/system/。但是我仍然不确定该怎么做,因为我需要source setup.bash在执行之前设置一些必要的环境变量roscore。 是否可以在服务文件中设置环境变量?为了我的需要,我不仅要为执行roscore系统设置这些环境变量,还要为整个系统设置这些环境变量。 我有另一个想法,那就是我设置了这些环境变量/etc/profile并仅为该命令编写了一个服务文件roscore,它将起作用吗?

2
SystemD是否生成N个进程?
在我的组织中,我们有许多消耗队列的工作进程。我们目前正在使用SupervisorD来管理它们,但希望在可能的情况下使用SystemD以获得某些优势。我在编写自定义单位方面相当有经验,但是我没有立即在SystemD中找到类似的东西。 在SupervisorD文档numprocs中,详细说明了一个名为的参数,该参数允许您设置要使用该服务启动的进程数。如果我要启动30个流程,那是单行更改。 SystemD单元中是否有设置可以让我指定要启动多少个这些进程?

2
systemd-模拟Anacron行为的计时器单元
我需要为经常使用的机器(例如经典台式机安装)编写一个计时器单元。该计时器单元需要定期但不经常(例如,每周,每月)激活。 我确实找到了一些方法,但是它们都不适合: 根据手册页OnBootSec,OnStartupSec如果配置的时间点已过去,则只会激活和指令。我还找到了一些结合使用OnActiveSec来定义常规事件的示例。问题是:每次启动计算机时,计时器都会激活已配置的单元。如果您有一个计时器,它应该每周/每月一次运行,那是非常频繁的。例如:我不想让日志每天旋转3次... 用OnCalendar指令解决。如果机器在配置的时间点关闭电源(通常是午夜,因为如果您在时间规范中省略了小时,则默认为00:00:00),则下次启动后将不会激活计时器。至少这是我得到的方式。那正确吗 ? 因此,出现了一个问题: 如果配置的时间过去了,下次启动后是否立即激活带有日历事件的计时器? 如果不是:是否有解决方法来获得这种行为?
13 cron  systemd 


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.