今天在搭建hadoop的过程中出现了终端闪退到用户登录界面的问题,笔者这里使用的是Ubuntu的系统。经过查找资料,这个问题目测是在进程执行过程中,在/tmp文件夹下创建的内容被其他进程删除导致的,只需要为/tmp文件夹设置粘贴位(sticky位)就行了。
解决方案
使用命令sudo chmod 1777 /tmp 修改tmp文件夹的权限,如图所示。
完成上述操作之后即可解决闪退的问题
关于Linux下粘贴位(sticky位)
要删除一个文件,你不一定要有这个文件的写权限,但你一定要有这个文件的上级目录的写权限。也就是说,你即使没有一个文件的写权限,但你有这个文件的上级目录的写权限,你也可以把这个文件给删除,而如果没有一个目录的写权限,也就不能在这个目录下创建文件。
如何才能使一个目录既可以让任何用户写入文件,又不让用户删除这个目录下他人的文件,sticky就是能起到这个作用。stciky一般只用在目录上,用在文件上起不到什么作用。
在一个目录上设了sticky位后,(如/home,权限为1777)所有的用户都可以在这个目录下创建文件,但只能删除自己创建的文件(root除外),这就对所有用户能写的目录下的用户文件启到了保护的作用。
转载请注明:悠然品鉴 » Linux终端执行过程中闪退回登录界面的问题