systemd 系统初始化程序与进程树


1.systemd
系统初始化程序,系统开始的第一个进程,pid为1

2.systemctl 命令
systemctl list-units            ##列出当前系统服务的状态
systemctl list-unit-files        ##列出服务的开机状态

systemctl status sshd            ##查看指定服务(sshd)的状态


systemctl stop sshd             ##关闭指定服务(sshd)


systemctl start sshd             ##开启指定服务(sshd)
systemctl restart sshd            ##从新启动服务(sshd)
systemctl enable sshd            ##设定指定服务开机开启(sshd)
systemctl disable sshd            ##设定指定服务开机关闭(sshd)
systemctl reload sshd            ##使指定服务从新加载配置(sshd)

systemctl list-dependencies sshd    ##查看指定服务的倚赖关系(sshd)


systemctl mask    sshd            ##冻结指定服务(sshd)
systemctl unmask sshd            ##启用服务(sshd)
systemctl set-default multi-user.target    ##开机不开启图形
systemctl set-default graphical.target    ##开机启动图形
setterm                    ##文本界面设定color
vga=ask
3.服务状态
systemctl     status        服务名称

                       loaded                ##系统服务已经初始化完成,加载过配置

                       active(running)        ##正有一个或多个程序正在系统中执行,
                                                                # vsftpd 就是這種模式

                       atcive(exited)        ##僅執行一次就正常結束的服務,



                        atcive(waiting)        ##正在執行當中,

                                                                # 不過還再等待其他的事件才能繼續處理
                        inactive            ##服务关闭

                        enbaled                ##服务开机启动

                        disabled            ##服务开机不自启

                        static                ##服务开机启动项不可被管理

                        failed                ##系统配置错误

           

4,pstree进程树



########################################################################

注意linux的转义字符,我们看到的文件名为unit7 ed,但是在命令行里面起名字时,要用\ 来表示空格,即反斜杠加上空格

##########################################

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux的启动和初始化程序通常由两个部分组成:引导程序(bootloader)和初始化程序(init)。 引导程序是在计算机开机时最先执行的程序,主要负责加载操作系统内核和初始化系统环境。常见的Linux引导程序有GRUB和LILO。 初始化程序是Linux系统中第一个用户空间进程,它负责启动系统中的其他进程和服务,并建立用户环境。常见的Linux初始化程序有SysVinit和systemd。 下面是一个简单的初始化程序的示例: ``` #include <stdio.h> #include <unistd.h> #include <sys/types.h> int main() { pid_t pid; pid = fork(); // 创建子进程 if (pid < 0) { printf("fork error\n"); return -1; } else if (pid == 0) { // 子进程执行的代码 printf("child process\n"); // 启动其他服务和进程 execl("/bin/bash", "/bin/bash", NULL); } else { // 父进程执行的代码 printf("parent process\n"); // 等待子进程结束 waitpid(pid, NULL, 0); } return 0; } ``` 这个程序使用fork()系统调用创建一个子进程,并使用execl()系统调用启动其他进程和服务。在父进程中,使用waitpid()系统调用等待子进程结束。 需要注意的是,初始化程序的编写需要考虑系统的安全性和稳定性,需要遵循一些规范和最佳实践,例如使用权限控制、错误处理、日志记录等。同时,不同的Linux发行版可能有不同的初始化程序和启动脚本,需要根据实际情况进行相应的调整和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值