为什么进入linux时,每次都要输入exit

上周 我的那个朋友 Linux 停止启动。
显示“放弃等待根设备”。
地点是我家。
日期大概是2 02 3 年1 2 月1 0日
我查了资料。
常见的解决方案包括:
启动目标(cat/proc/cmdline)
checkrootdelay(系统等待的时间是否足够长?)
checkroot(系统是否在等待正确的设备?)
缺少模块(cat/proc/modules; ls/dev)
警报提示: /dev/disk/by-uuid/ 不存在。

我尝试在 initramfs 中输入 exit。
出现一些提示后,系统启动成功。
一切都会好起来的。

我再次尝试延长超时= 9 0。
在 boot/grub/menu.lst 文件中更改它。
将 root=UUID=... 更改为 rootlay=9 0。
然后重新启动。

已解决。
由你决定。

linux exit命令

嘿,别给我读这些理论。
exit命令,说白了就是让你退出当前正在工作的窗口。
告诉你,去年我在公司的一台旧电脑上写一个脚本,写了一堆命令。
最后我发现了一个小错误,它卡在那里。
我尝试了很长时间,删除这个删除那个。
最后我直接在命令行中输入exit,立即退出,省去了我再次摆弄的麻烦。
你看,有时当事情遇到困难时,最好先出去看看问题出在哪里。

UNIX/Linux下的exit系列函数

_exit(2 ) 直接终止进程,不返回值。
内核关闭文件句柄并将PID 1 传递给子进程。
向父进程发送SIGCHLD信号。
适用于需要快速退出的场景。

exit_group(2 ) 允许所有线程同时退出。
Linux 特有的系统调用。
_glibc2 .3 版本之后,_exit被打包到exit_group中。
函数是等效的,但 exit_group 函数更适合一次终止所有线程。

_exit(3 ) 执行与 _exit(2 ) 相同的功能。
引入了C9 9 标准,具有良好的跨平台可移植性。
当您需要在不同系统之间共享代码时,请使用 _exit。

exit(3 ) 最常用。
调用_exit来实现基本功能。
采取必要的操作,例如关闭文件句柄。
适合离开前需要完成的特定任务。

atexit(3 ) 注册清理函数。
成功时返回 0,失败时返回非零。
Linux 独有的。

on_exit(3 ) 支持附加选项。
提供更灵活的清洁功能。
Linux 独有的。

在主函数完成之前调用 exit。
使用atexit 注册清理逻辑。
on_exit 实现清除某些参数。

这些系统函数调用控制进程的生命周期。
提高程序维护的可靠性和便利性。
你自己看看吧。

UNIX/Linux下的exit系列函数

说实话,使用这些退出函数是相当复杂的。
首先说一下Linux中最常用的Exit_Group。
这是Linux特有的,可以直接终止所有线程。
我记得Glibc2 .3 之后,_exit实际上直接调用了“exit_group”。
所以在Linux上两者没有区别。
只需调用 exit_group(int status);在。
使用时直接。

然后_退出。
这是 POSIX 标准的一部分,在所有 UNIX 系统上都很常见。
它是一个系统调用,直接导致进程退出而不返回。
内核自动处理文件描述符和僵尸进程,例如通过将孤立进程传递给 init 进程进行接管。
当调用_exit(status)时; status 是退出代码。
例如,0表示正常退出,0以外的值表示异常。

接下来是_退出。
这是由C9 9 标准引入的。
与_exit功能相同,但它是C标准库函数。
跨平台移植性好。
建议首先使用这些。
使用时也是_Exit(status);,status的含义同上。

终于出来了。
这是最常用的,也来自C标准库。
与 _Exit 和 _exit 最大的区别在于 Exit 做了一些清理工作。
例如,首先执行注册的清理函数,更新标准I/O流缓冲区,删除tmpfile创建的临时文件。
调用方法仍然是“exit(status);” “状态”的含义保持不变。

相关清理函数有atexit和on_exit。
atexit 在所有 UNIX 系统上都可用,用于注册退出时要执行的函数。
当调用“exit”时,这些函数以相反的顺序执行。
例如,如果先注册f1 ,然后注册f2 ,则f2 将先执行。
但请注意,如果进程收到 SIGKILL 信号或直接调用 _exit,则不会执行这些清理函数。

on_exit 是 Linux 特有的,与 atexit 类似,但可以向清理函数传递一个附加参数。
例如,如果 on_exit(f, arg);执行后,清理函数f接收arg参数。
使用时一定要检查返回值。
成功为0。

总之,exit_group是Linux中最鲁莽的,直接杀死所有线程。
_exit 和 _Exit 是标准 POSIX,直接退出。
退出会做一些清理工作。
atexit 和 on_exit 用于注册清理函数。
在使用的时候,需要根据情况来选择。