查找由给定命令修改的文件

跟踪程序的系统调用。有关更多信息,请参阅http://linuxhelp.blogspot.com/2006/05/strace-very-powerful-troubleshooting.html。
.

0

linux命令:strace <name of the program> program> the of <name strace strace <name of the program>rootopen.com
linux命令:strace <name of the program> program> the of <name strace strace <name of the program>rootopen.com
adjw 2018-05-14 12:57:48
输出
linux命令:strace 详解
替代方案1 查找由给定命令修改的文件

这帮助我多次尝试查找执行命令后创建的日志文件或tmp文件。真正让人睁目大笑的是,一个给定的过程究竟有多活跃。玩--anewer,-cnewer和-newerXY.

linux命令:touch /tmp/file ; $EXECUTECOMMAND ; find /path -newer /tmp/file /tmp/file -newer /path find ; $EXECUTECOMMAND ; /tmp/file touch touch /tmp/file ; $EXECUTECOMMAND ; find /path -newer /tmp/filerootopen.com
linux命令:touch /tmp/file ; $EXECUTECOMMAND ; find /path -newer /tmp/file /tmp/file -newer /path find ; $EXECUTECOMMAND ; /tmp/file touch touch /tmp/file ; $EXECUTECOMMAND ; find /path -newer /tmp/filerootopen.com
.
输出

评论

相关推荐

strace在试图弄清楚某些行为异常的程序正在做什么时可能是非常宝贵的。有许多有用的标志来限制和控制它的输出,并附加到已经运行的程序上。 (另请参阅'ltrace'。)

linux命令:strace -f -s 512 -v ls -l -l ls -v 512 -s -f strace strace -f -s 512 -v ls -lrootopen.com
linux命令:strace -f -s 512 -v ls -l -l ls -v 512 -s -f strace strace -f -s 512 -v ls -lrootopen.com
.

特别是对于系统管理员,当他们不想浪费时间在进程名的N个进程上添加-p标志时。在旧学校中,您做了; pgrep进程名和输入strace -f -p 456 -p 678 -p 974 .. 。您可以为该函数添加-f参数。这样,函数将处理pgrep以匹配命令行。例如:processname -f jrockit

linux命令:straceprocessname(){ x=( $(pgrep "$@") ); [[ ${x[@]} ]] || return 1; strace -vf ${x[@]/#/-p }; } } }; ${x[@]/#/-p -vf strace 1; return || ]] ${x[@]} [[ ); "$@") $(pgrep x=( straceprocessname(){ straceprocessname(){ x=( $(pgrep "$@") ); [[ ${x[@]} ]] || return 1; strace -vf ${x[@]/#/-p }; }rootopen.com
linux命令:straceprocessname(){ x=( $(pgrep "$@") ); [[ ${x[@]} ]] || return 1; strace -vf ${x[@]/#/-p }; } } }; ${x[@]/#/-p -vf strace 1; return || ]] ${x[@]} [[ ); "$@") $(pgrep x=( straceprocessname(){ straceprocessname(){ x=( $(pgrep "$@") ); [[ ${x[@]} ]] || return 1; strace -vf ${x[@]/#/-p }; }rootopen.com
.

linux命令:strace -ff -e trace=write -e write=1,2 -p SOME_PID SOME_PID -p write=1,2 -e trace=write -e -ff strace strace -ff -e trace=write -e write=1,2 -p SOME_PIDrootopen.com
linux命令:strace -ff -e trace=write -e write=1,2 -p SOME_PID SOME_PID -p write=1,2 -e trace=write -e -ff strace strace -ff -e trace=write -e write=1,2 -p SOME_PIDrootopen.com
.

有时候程序拒绝读取文件,但你不知道为什么。你可能已经关闭了PHP或其他的display_errors。在这个例子中,fopen('/ var / www / test / foo.txt')被调用,但没有对foo.txt的读访问权限.Strace可以告诉你哪里出了问题。例如,如果php没有对文件的读取权限,strace会说“EACCESS(Permission denied)”。或者,如果您提供的文件路径不存在,strace会说“ENOENT(没有这样的文件或目录)”等。这适用于您可以从命令行运行的任何程序,例如strace python myapp.py -e打开,访问......注意:上面的命令使用php-cli,而不是mod_php,这是一个与SAP配置不同的SAPI等。

linux命令:strace php tias.php -e open,access 2>&1 | grep foo.txt foo.txt grep | 2>&1 open,access -e tias.php php strace strace php tias.php -e open,access 2>&1 | grep foo.txtrootopen.com
linux命令:strace php tias.php -e open,access 2>&1 | grep foo.txt foo.txt grep | 2>&1 open,access -e tias.php php strace strace php tias.php -e open,access 2>&1 | grep foo.txtrootopen.com
.

类似于以前的命令,但是更友好的输出(在linux上测试)

linux命令:strace -ff -e write=1,2 -s 1024 -p PID 2>&1 | grep "^ |" | cut -c11-60 | sed -e 's/ //g' | xxd -r -p -p -r xxd | //g' 's/ -e sed | -c11-60 cut | |" "^ grep | 2>&1 PID -p 1024 -s write=1,2 -e -ff strace strace -ff -e write=1,2 -s 1024 -p PID 2>&1 | grep "^ |" | cut -c11-60 | sed -e 's/ //g' | xxd -r -prootopen.com
linux命令:strace -ff -e write=1,2 -s 1024 -p PID 2>&1 | grep "^ |" | cut -c11-60 | sed -e 's/ //g' | xxd -r -p -p -r xxd | //g' 's/ -e sed | -c11-60 cut | |" "^ grep | 2>&1 PID -p 1024 -s write=1,2 -e -ff strace strace -ff -e write=1,2 -s 1024 -p PID 2>&1 | grep "^ |" | cut -c11-60 | sed -e 's/ //g' | xxd -r -prootopen.com
.

用于恢复输出(stdout和stderr)“disown”ed或“nohup”ep进程的其他ssh实例。与其他选项一样,stdout / stderr被拦截,但只有前n个字符。这样我们可以恢复所有stdout或stderr的文本

linux命令:strace -e write=1,2 -p $PID 2>&1 | sed -un "/^ |/p" | sed -ue "s/^.\{9\}\(.\{50\}\).\+/\1/g" -e 's/ //g' | xxd -r -p -p -r xxd | //g' 's/ -e "s/^.\{9\}\(.\{50\}\).\+/\1/g" -ue sed | |/p" "/^ -un sed | 2>&1 $PID -p write=1,2 -e strace strace -e write=1,2 -p $PID 2>&1 | sed -un "/^ |/p" | sed -ue "s/^.\{9\}\(.\{50\}\).\+/\1/g" -e 's/ //g' | xxd -r -prootopen.com
linux命令:strace -e write=1,2 -p $PID 2>&1 | sed -un "/^ |/p" | sed -ue "s/^.\{9\}\(.\{50\}\).\+/\1/g" -e 's/ //g' | xxd -r -p -p -r xxd | //g' 's/ -e "s/^.\{9\}\(.\{50\}\).\+/\1/g" -ue sed | |/p" "/^ -un sed | 2>&1 $PID -p write=1,2 -e strace strace -e write=1,2 -p $PID 2>&1 | sed -un "/^ |/p" | sed -ue "s/^.\{9\}\(.\{50\}\).\+/\1/g" -e 's/ //g' | xxd -r -prootopen.com
.

找到程序的配置文件。不能用于像vim这样的交互式程序。

linux命令:strace -e open zim 2>&1 1>/dev/null | fgrep ~ | fgrep -v "= -1" | cut -d'"' -f2 -f2 -d'"' cut | -1" "= -v fgrep | ~ fgrep | 1>/dev/null 2>&1 zim open -e strace strace -e open zim 2>&1 1>/dev/null | fgrep ~ | fgrep -v "= -1" | cut -d'"' -f2rootopen.com
linux命令:strace -e open zim 2>&1 1>/dev/null | fgrep ~ | fgrep -v "= -1" | cut -d'"' -f2 -f2 -d'"' cut | -1" "= -v fgrep | ~ fgrep | 1>/dev/null 2>&1 zim open -e strace strace -e open zim 2>&1 1>/dev/null | fgrep ~ | fgrep -v "= -1" | cut -d'"' -f2rootopen.com
.

如果my_command是用“$ @”命名的,可以作为脚本`ftrace`运行。当运行失败的命令并且您感觉它正在访问您不知道的文件时,它非常有用。

linux命令:strace -ff -e trace=file my_command 2>&1 | perl -ne 's/^[^"]+"(([^\\"]|\\[\\"nt])*)".*/$1/ && print' print' && 's/^[^"]+"(([^\\"]|\\[\\"nt])*)".*/$1/ -ne perl | 2>&1 my_command trace=file -e -ff strace strace -ff -e trace=file my_command 2>&1 | perl -ne 's/^[^"]+"(([^\\"]|\\[\\"nt])*)".*/$1/ && print'rootopen.com
linux命令:strace -ff -e trace=file my_command 2>&1 | perl -ne 's/^[^"]+"(([^\\"]|\\[\\"nt])*)".*/$1/ && print' print' && 's/^[^"]+"(([^\\"]|\\[\\"nt])*)".*/$1/ -ne perl | 2>&1 my_command trace=file -e -ff strace strace -ff -e trace=file my_command 2>&1 | perl -ne 's/^[^"]+"(([^\\"]|\\[\\"nt])*)".*/$1/ && print'rootopen.com
.

如何计算程序在做什么。 tt详细时间戳 -f strace任何子进程 -v即使使用常见的结构,也要非常冗长 -o将输出写入file- sn,捕获最多N个字符串字符

linux命令:strace -ttvfo /tmp/logfile -s 1024 program program 1024 -s /tmp/logfile -ttvfo strace strace -ttvfo /tmp/logfile -s 1024 programrootopen.com
linux命令:strace -ttvfo /tmp/logfile -s 1024 program program 1024 -s /tmp/logfile -ttvfo strace strace -ttvfo /tmp/logfile -s 1024 programrootopen.com
.
共收录0条命令行
这里是记录和分享命令行的地方, 所有命令行都可以进行评论、提交替代方案.

推荐
    热门命令