最近一次升级ArchLinux,开机多了两个错误消息(一个来自驱动,一个来自systemd),加上其他小变化,强迫症表示很不爽。
今天又发现没法直接strace -p
自己的进程,一查发现内核参数kernel.yama.ptrace_scope
是1,原来是最近才加上的。
好吧,安全特性,但是需要的时候还是要放行的,不然每次strace都要sudo太麻烦了:
toggle_ptrace ()
{
local enable;
mapfile -t enabled < /proc/sys/kernel/yama/ptrace_scope;
enabled=${enable[0]};
if [[ $enabled == '0' ]]; then
enabled=1;
else
enabled=0;
fi;
sudo sh -c "echo $enabled > /proc/sys/kernel/yama/ptrace_scope"
}