编写shell程序,完成以下功能

编写shell程序,完成以下功能

1.每隔一个小时(测试可以把时间间隔设置为1分钟)把当前系统正在运行的全部进程信息写入一个日志文件
提示:可以用crontab配置定时任务,用ps命令生成进程信息
2.每天生成一个新日志文件,日志文件名以ps-yyyy-MM-dd.log命名,其中yyyy用四位年份值代替,MM用两位月份值代替,dd用两位日期值代替。文件的权限为600。
3.如果文件不存在,则按照命名规则创建新文件,如果日志文件已存在,则把新日志追加方式写入文件
4.日志文件以月份进行分类,例如2022年3月份所有的日志文件存入’202203’的目录下,所有目录存入ps-log目录下
5.目录不存在则按照命名规则创建目录
6.自动删除1年前的的日志信息(目录和文件都删除)

在编程之前我们需要先了解一下shell

1、 什么是shell
Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。
shell充当一个桥梁:
a.将使用者的命令翻译给核心(kernel)处理。
b. 同时,将核心的处理结果翻译给使用者。
在这里插入图片描述

2、 shell的特性
(1) 运行程序
shell类似于一个程序启动器,shell将程序载入内存并运行它们。
(2) 管理输入和输出
使用<、>和|符号可以将输入输出重定向。这样就可以告诉shell将进程的输入和输出连接到一个文件或是其他进程。
(3) 可编程
3、 shell如何运行程序
shell用fork建立新进程,用execv函数簇在新进程中运行用户指定的程序,最后shell用wait命令等待新进程结束。wait系统调用同时从内核取得退出状态或者信号序号以告知子进程是如何结束的。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

️雲野

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值