版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
进程在fs/exec.c中的setup_new_exec 来修改进程的name
void setup_new_exec(struct linux_binprm * bprm)
{
#修改进程的comm
__set_task_comm(current, kbasename(bprm->filename), true);
}
void __set_task_comm(struct task_struct *tsk, const char *buf, bool exec)
{
task_lock(tsk);
trace_task_rename(tsk, buf);
#这里是通过strlcpy的方式将要设置的comm设置给进程
strlcpy(tsk->comm, buf, sizeof(tsk->comm));
task_unlock(tsk);
perf_event_comm(tsk, exec);
}