我刚刚添加了一个新用户到系统(Ubuntu 14.04 LTS 服务器)
adduser --force-badname myNewUser
Run Code Online (Sandbox Code Playgroud)
再次删除后:
deluser --remove-all-files myNewUser
Run Code Online (Sandbox Code Playgroud)
系统正在从光盘中获取数据(如预期),但它获取了很长时间(未预期),最后它给了我一个奇怪输出的巨大列表:
/usr/sbin/deluser: Cannot handle special file /proc/22220/fd/0
/usr/sbin/deluser: Cannot handle special file /proc/22220/fd/1
/usr/sbin/deluser: Cannot handle special file /proc/22220/fd/2
Run Code Online (Sandbox Code Playgroud)
等等。
阅读完这个答案后,我现在知道 proc-directory 只是一个存在于内存中的目录。这只是告诉我重新启动系统时文件将消失。但是它并没有解决我的问题。
在 google 上搜索只显示错误报告或一个线程,该线程指出 deluser --remove-all-files 是删除用户的旧方法?
这个输出是什么意思?我的系统现在搞砸了吗?如果是这样,我怎样才能让我的系统回到正确的道路上。
我知道这个问题很老了,但该行为仍然存在于 Ubuntu 16.04 中
有一个错误报告/功能请求,它阐明了这里发生的事情
总结一下:
该deluser --remove-all-files USER命令扫描USER并删除它们拥有的文件。
/usr/sbin/deluser: 无法处理特殊文件 /proc/767/task/767/fd/2
...
/usr/sbin/deluser: 无法处理特殊文件 /lib/systemd/system/halt.service
...
/usr/sbin/deluser: 无法处理特殊文件 /dev/input/by-path/platform-i8042-serio-1-event-mouse
警告只是说该命令无法处理此特定文件,因为它是一个特殊文件。它没有试图删除这个文件它只是无法运行它的检查。;-)
如果您回顾这些警告,您会发现它们都是针对 /dev、/proc、/run 中的文件或特殊系统文件(如 mountnfs.service),它们不是普通文件。
您应该能够安全地忽略这些警告。
嗯,该用户正在运行一些进程。
22220可能是一个进程ID,fd/0、fd/1、fd/2是该进程的stdin、stdout和stderr。这些无法删除并不奇怪。当流程进行时,他们就会离开。
我不认为有什么不好的事情发生。