相关疑难解决方法(0)

查找正在修改文件的进程

我们生产服务器上的一个特定文件在明显随机的时间被修改,这似乎与任何日志活动无关。我们无法弄清楚是什么程序在做的,有很多嫌疑。我怎样才能找到罪魁祸首?

它始终是相同的文件,位于相同的路径,但位于不同的服务器和不同的时间。这些框由puppet管理,但在修改文件时,puppet 日志显示没有活动。

什么内核钩子、工具或技术可以帮助我们找到正在修改这个文件的进程?


lsof 不适合这个,因为文件被打开、修改和关闭的速度非常快。任何依赖轮询(例如经常运行 lsof)的解决方案都不好。


  • 操作系统:Debian 测试
  • 内核:Linux,2.6.32 到 3.9,32 位和 64 位。

linux filesystems debian

26
推荐指数
1
解决办法
3万
查看次数

bash: /dev/stderr: 权限被拒绝

升级到新发布版本后,我的bash脚本开始出现错误:

bash: /dev/stderr: Permission denied
Run Code Online (Sandbox Code Playgroud)

在以前的版本中的Bash将在内部承认这些文件的名称(这就是为什么这个问题不是重复这一个),并做正确的事(TM) ,但是,这现在已经不再工作。我该怎么做才能再次成功运行我的脚本?

我曾尝试将运行脚本的用户添加到组中tty,但这没有区别(即使在注销并重新登录后)。

我可以在命令行上毫无问题地重现这个:

$ echo test > /dev/stdout
bash: /dev/stdout: Permission denied
$ echo test > /dev/stderr
bash: /dev/stderr: Permission denied
$ ls -l /dev/stdout /dev/stderr
lrwxrwxrwx 1 root root 15 May 13 02:04 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root root 15 May 13 02:04 /dev/stdout -> /proc/self/fd/1
$ ls -lL /dev/stdout /dev/stderr
crw--w---- 1 username tty 136, 1 May 13 05:01 /dev/stderr
crw--w---- 1 …
Run Code Online (Sandbox Code Playgroud)

bash permissions stdout

25
推荐指数
1
解决办法
3万
查看次数

标签 统计

bash ×1

debian ×1

filesystems ×1

linux ×1

permissions ×1

stdout ×1