获取shell脚本的pid并将其保存到locking文件中

获取shell脚本的pid并将其保存到locking文件中,第1张

概述获取shell脚本的pid并将其保存到locking文件中

我用rsnapshot做了备份,它创build了一个带有进程pID的锁文件。 现在我想从rsnapshots备份进行备份,所以我正在寻找一种方法来为第二个/外部备份创build这个锁文件。

shell脚本应该是这样的:

检查是否存在一个locking文件,如果是的话,等待,再试一次(我真的这样做了一段时间真正的循环)

获取此shell脚本的pID并将其保存为rsnapshotlocking文件

启动第二个/外部备份

删除锁文件

如何获得PID并将其保存为rsnapshotlocking文件?

shell脚本将数据parsing为variables,然后更新数据库

传递命令服务器使用perl openssh

shell脚本在bash中从ftp服务器下载文件

使用“ps”来查找时间范围内的进程

linux:WGET – scheme缺less使用-i选项

无法将程序与双击Tab中的Bash的总数相匹配

使用grep,把两条线当作一条线?

如何从Python运行一个干净的环境terminal

从文件中读取数字,直到<n

在awk与Umlauts printf不工作

PID存储在$$

喜欢

echo $$ > thisscriptpIDfile

对于任何应用程序,您可以使用ps来使用Unix shell本身找到其进程ID。 下面的例子是从ps非常缩小的列表。 PS不仅会显示PID,还会显示所有者,以及父进程ID(如在哪个进程中启动此特定进程)。

userX# ps -ef | more UID PID PPID C STIME TTY TIME CMD root 1 0 0 Oct19 ? 00:00:00 /sbin/init root 2 0 0 Oct19 ? 00:00:00 [kthreadd] root 3 2 0 Oct19 ? 00:00:02 [migration/0] root 4 2 0 Oct19 ? 00:04:48 [ksoftirqd/0] root 5 2 0 Oct19 ? 00:00:00 [migration/0] root 6 2 0 Oct19 ? 00:00:00 [watchdog/0] ... root 27 2 0 Oct19 ? 00:00:00 [pm] root 28 2 0 Oct19 ? 00:00:00 rsnapshot root 29 2 0 Oct19 ? 00:00:00 [xenbus]

现在让我们开始寻找哪个过程对我们来说很有意思。 我不熟悉rsnapshot,所以我在示例中添加了虚拟数据。

userX# ps -ef | grep rsnapshot root 28 2 0 Oct19 ? 00:00:00 rsnapshot ec2-user 7233 1497 0 11:32 pts/0 00:00:00 grep rsnapshot

请注意,它不会给你“标题”信息,只有匹配的行,感谢grep。 你的第二个“专栏”是PID。 值得注意的是:ps显示了每个进程,包括刚才运行的grep。 你的命令/脚本需要警惕这一点,并去掉这些项目。 我将在下一个示例中使用awk来做到这一点。

现在要进一步扩展,把PID变成一个文件。 我们需要确认我们有一个PID,如果是的话,创建命令来创建锁定文件:

userX# ps -ef | grep rsnapshot | awk '$0!~/grep/ && $2~/[0-9]/{print "echo "$2" > rsnapshot.lck"}' echo 28 > rsnapshot.lck

如果没有用于rsnapshot的PID,则不会有输出。 作为书写,awk将检查每一行,如果它不包含字符串“grep”,并且在第二个字段中有任何数字[0-9],则打印要运行的命令 – 但不实际运行该命令。

最后一步是从awk输出中调用该命令。

userX# ps -ef | grep rsnapshot | awk '$0!~/grep/ && $2~/[0-9]/{print "echo "$2" > rsnapshot.lck"}' | sh

添加“| sh”会导致所有输出作为命令调用。 如果awk没有找到rsnapshot,那么没有命令可以运行。

总结

以上是内存溢出为你收集整理的获取shell脚本的pid并将其保存到locking文件中全部内容,希望文章能够帮你解决获取shell脚本的pid并将其保存到locking文件中所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1276543.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存