每次当我在一个用户上运行一些占用大量内存的程序并切换到另一个用户时,我都会看到内存使用情况仍在继续。另一个用户是否仍在运行?如果是,是否可以让 Ubuntu 将用户工作区状态保存到硬盘驱动器,然后终止所有正在运行的程序或采取其他类似措施?
答案1
另一个用户实际上还在运行吗?
是的。Linux 默认是一个多用户系统。这种设计可以追溯到早期的 UNIX 系统,该系统在大型机上运行,必须支持来自多个用户的请求。这些用户通常从称为“哑”终端的专用硬件访问系统,这些终端只不过是显示器、键盘和(同轴)网络连接。
正在运行的进程归用户所有,并且该用户在进程运行时无需登录。Linux 上运行的多个应用程序将拥有自己的用户并在其下运行。这些用户可能永远不会“登录”系统。
这是一个需要理解的重要概念。只需执行“切换用户”,您所做的就是将另一个用户带入系统。您的原始用户(及其所有进程)将在系统上保持活动状态。
如果是这样,是否可以让 Ubuntu 将用户工作区状态保存到硬盘,然后终止所有正在运行的程序或执行类似操作?
也许最好的选择是退出第一个用户,然后以另一个用户身份登录。这应该可以阻止最多第一个用户的资源占用。当然,除非该用户正在后台运行一个进程,尽管注销,该进程仍会“继续存在”。