我用 来检查服务状态systemctl status service-name。
默认情况下,我只看到几行,所以我添加-n50以查看更多。
有时,我想从头开始查看完整日志。它可能有 1000 行。
现在,我检查它,-n10000但这看起来不是很好的解决方案。
是否有类似于less命令的选项来检查完整的 systemd 服务日志?
我读到单元文件有两个文件夹(不在用户模式下)。
/usr/lib/systemd/system/: units provided by installed packages
/etc/systemd/system/: units installed by the system administrator
Run Code Online (Sandbox Code Playgroud)
与这种理解相冲突的是这个问题的答案:如何为 Systemd 编写启动脚本。有人可以填写缺失的信息以便我了解发生了什么吗?(更新:答案已更新,我的理解不再与之冲突。)
此外,脚本似乎组织在文件夹内的子/etc/systemd/system/文件夹中:
getty.target.wants
multi-user.target.wants
Run Code Online (Sandbox Code Playgroud)
在另一个位置,我读到还有其他位置。这些似乎是针对用户特定的服务。
/usr/lib/systemd/user/ where services provided by installed packages go.
/etc/systemd/user/ where system-wide user services are placed by the system administrator.
~/.config/systemd/user/ where the user puts its own services.
Run Code Online (Sandbox Code Playgroud)
2015-08-31 更新:
为了其他人,这里是我最近问的一个相关问题的链接:我在哪里放置由 systemd 单元执行的脚本?
我想在计算机关闭之前执行一个简单的命令(时间不是必需的)。
对于启动,我可以使用/etc/rc.local;关闭有类似的东西吗?
请注意,我仍然想使用菜单中的集成关机按钮;即我不想每次通过终端关闭时都使用自定义脚本 - 它需要是自动的。
我目前正在尝试了解在系统启动/引导时运行脚本的init.dcron 和 cron之间的区别@reboot。
使用的@reboot(这种方法中提到的这个论坛由hs.chandra)是一些什么比较简单,通过简单地进入crontab -e并创建一个@reboot /some_directory/to_your/script/your_script.txt,然后your_script.txt,应在每次系统启动时执行。的深入解释@reboot是here
或者通过嵌入/etc/init.d/your_script.txt到脚本的第二行,即:
#!/bin/bash
# /etc/init.d/your_script.txtRun Code Online (Sandbox Code Playgroud)
您可以运行,chmod +x /etc/init.d/your_script.txt并且your_script.txt每次系统启动时也应该运行。
Q1:两者的主要区别是什么?
Q2:哪个更健壮?
Q3:两者中是否有更好的一个?
Q4:这是嵌入脚本以在启动期间运行的正确方法吗?
我将合并一个 bash .sh 文件以在启动期间运行。
使用一个命令来启动和启用systemctl托管软件将有助于在几个脚本中节省几行,使它们更美观(不是真正的问题,而是一件好事)。
是否有一个systemctl命令start和enable一个由 控制的程序systemctl?
通过以下方式检查服务状态时 systemctl
systemctl status docker
Run Code Online (Sandbox Code Playgroud)
输出是这样的
? docker.service - Docker 应用容器引擎 已加载:已加载(/lib/systemd/system/docker.service;已启用;供应商预设:已启用) 活动:自 2018-03-19 星期一 13:52:21 CST 起不活动(死)(结果:退出代码);4 分 32 秒前 文档:https://docs.docker.com 进程:6001 ExecStart=/usr/bin/dockerd -H fd://(代码=退出,状态=205/LIMITS) 主 PID: 6001 ( code=exited, status=205/LIMITS )
问题是关于粗体部分:主进程退出代码和状态信息。
是否有所有代码和状态及其解释的列表?
我知道大多数时候它是不言自明的(我知道这里问题的答案)但最近我们在工作中经常遇到这个问题(有些人通过谷歌搜索但找不到它,其他人打开systemd.service手册页,搜索例如代码203并没有找到它......)所以我想我不妨把它放在这里,这样人们通过谷歌更容易找到答案。
这是我在几个 Linux 版本中多次看到的问题,所以让我们尽量详尽无遗。
在用户登录其桌面会话之前和之后执行脚本/命令/程序的方法是什么?
我正在尝试删除 eth0.x 并保留 eth0。虽然ifconfig列出了 eth0.1 和 eth0.500,但我没有找到它们的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0.x。
我试过了ifconfig eth0.1 down,它奏效了。但是重新启动网络后,eth0.1 和 eth0.500 都回来了。
有没有办法永久删除这两个接口?
systemd ×4
shell-script ×2
startup ×2
cron ×1
ethernet ×1
gdm ×1
ifconfig ×1
init-script ×1
lightdm ×1
linux-mint ×1
logs ×1
lxdm ×1
networking ×1
scripting ×1
shutdown ×1
systemctl ×1
sysvinit ×1