linux 删除用户 currently logged in,userdel删除用户失败提示:userdel: user * is currently logged in 解决方法...

操作环境

SuSE10/SuSE11

问题现象

执行userdel -rf oracle删除用户失败,提示userdel: user ‘oracle’ is currently logged in

问题分析

NA

问题解决

1、ps -fu oracle查看是否还有进程在使用(也可以使用ps -ef |grep ‘oracle’| grep -v grep),如果有进程在使用。kill掉相关进程

2 、重新执行userdel -rf oracle,如果失败,则执行步骤3

3、删除 /var/run/utmp文件。cd /var/run; mv utmp utmp_bak;touch utmp

4、重新执行userdel -rf oracle。

知识延伸

为什么删除utmp文件就可以执行删除用户成功?查看如下函数信息

/var/run/utmp database of currently logged-in users

src/userdel.cif(is_logged_in(remove_user))

{

fprintf(stderr,_("%s:account '%s' is currently in use.\n")),program,remove_user);

return E_USER_BUSY;

}

lib/is_logged_in.c/*

Check if the user is logged in.

0:user is not logged in

1:user is logged in

*/

int is_logged_in(const char *user)

{

struct utmp *utp;

setutent();

while((utp = getutent()))

{

if(utp->ut_type == USER_PROCESS && strncmp(utp->ut_user,user,sizeof utp->ut_user)==0)

return 1

}

return 0

}

作者:Beng Dou

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值