是否有类似 pkill 的工具可以执行此操作:
对我来说,重要的是该工具等待进程真正终止。
我知道用我最喜欢的脚本语言很容易做到这一点,但在这种情况下,如果我使用一个已经存在的工具会非常好。
这需要在 SuSE-Linux 和 Ubuntu 上运行。
我收集这样的性能数据:
# Activity reports every 10 minutes everyday
*/10 * * * * root [ -x /usr/lib64/sa/sa1 ] && exec /usr/lib64/sa/sa1 -S ALL 1 1
# Update reports every 6 hours
55 5,11,17,23 * * * root [ -x /usr/lib64/sa/sa2 ] && exec /usr/lib64/sa/sa2 -A
Run Code Online (Sandbox Code Playgroud)
每天生成两个文件:saDD
和sarDD
我尝试查找文件类型,但失败:
server:/var/log/sa # file 201906/sar26
201906/sar26: ASCII text
server:/var/log/sa # file 201906/sa26
201906/sa26: data
Run Code Online (Sandbox Code Playgroud)
saXX 和 sarXX 是什么?有什么不同?
我看到很多无用的递归目录遍历:
以上所有应用程序(以及更多应用程序)一遍又一遍地进行递归目录遍历。由于应用程序不知道文件(目录结构深处)是否已更改。
Inotify 存在,但 AFAIK 不能扩展到几千个目录。
我想没有解决办法。但也许我错过了一些东西。
例如拿这个文件:
a/b/c/d.txt
Run Code Online (Sandbox Code Playgroud)
以及两台服务器 A 和 B。
如果您有 100 万(或更多)文件和目录,上述所有应用程序都需要检查文件的 mtime 是否已更改。
没有更快的方法吗?
如果文件的 mtime 更改会影响到父目录,则检查两台服务器上的上层目录的 mtime 就足够了。通过这种方式,应用程序可以跳过无用的更改搜索。
问题:如何避免递归目录遍历同步两个目录?
如果您有任何疑问或需要更多详细信息,请发表评论。谢谢你。
我喜欢ps -fu $USER
它显示当前用户的所有进程并显示每个进程的足够信息。
但我很懒惰,想要一个更短的解决方案。
我知道别名,但它们不是解决方案。
如何获得(大致)ps -fu $USER
与输入较少字符相同的输出?