您无法这样做,因为没有此系统调用。不过,根据您想如何影响进程的方式,如果该进程对您的系统不是关键性的,您可以尝试一些黑客技巧。
(gdb) attach process_id
(gdb) call putenv ("UID=1234")
(gdb) call putenv ("EUID=1234")
(gdb) call putenv ("GID=1234")
(gdb) detach
(gdb) call setuid(1234)
这并不是真正回答你的问题(更改正在运行的进程的所有者),但考虑到您可能想更改所有者以影响进程的某些方面,也许这个方法可以帮助。
请记住,这很可能会破坏您的进程。
(基于此:有没有办法更改另一个进程的环境变量?)
nc -l 8080
),但对于一个更大、更复杂的程序,它在许多CPU核心和GPU CUDA核心上运行许多线程,具有大量的网络活动和磁盘I/O活动,我不确定会发生什么。