Python中,当有时当一个条件成立困改的情况下,需要终止程序,可以使用sys.exit()退出程序。sys.exit()会引发一个异常。
1.如果这个异常没有被捕获,那么python编译器将会退出,后面的程序将不会执行。
2.如果这个异常被捕获(try...except...finally),捕获这个异常可以做一些额外的清理工作,后面的程序还会继续执行。
注:0为正常退出,其他数值仿纤(备尺仿1-127)为不正常,可抛异常事件供捕获。
另一种终止程序的方法os._exit(),一般情况下使用sys.exit()即可,一般在fork出来的子进程中使用os._exit()。
exit是Linux *** 作系统中的雀帆一个内置命令,用于终止正在运行的程序或shell程序,或从当前shell程序中退出。如果exit无效,可以尝试使用Ctrl+C组合键来强制终止程序,或者使用kill <pid>命令来杀死进程。如果需要,也可以使用killall <process_name>纤迅命令杀死特定进程毁岁此。
此外,还可以使用top或ps aux命令查看系统中正在运行的进程,并使用pkill <process_name>命令来杀死特定进程。
exit(1)和_exit(0)函数都可以用于结束进程,不过_exit(1)调用之后会立即进入内核,而exit(0)函数会先执行一些清理之后才会进入内核,比如调用各种终止处理程序,关闭所有I/O流.
return是退出函数模块并返回值给调用该函数的帆派 *** 作数,所以函数前要有返回类型,如果是用在main函数中的话,main函数返回值不能声明成void,那么此时的return与exit调用都是使程序结束并返回到 *** 作系统。
return函数退出,将函数的信息返回给调用函数使用,与exit()和_exit()函数有本质区别。
#include<stdlib.h>
voidexit(intstatus)
DESCRIPTION
Theexit()functioncausesnormalprocesstermination
andthevalueofstatus&0377isreturnedtotheparent
(seewait(2)).
这是man手册中对exit()函数的秒数,exit()函数导致子进程的正常退出,并且参数status&0377这个值将被返回给父进程。exit()应该是库函数。exit()函数其实是对_exit()函数的一种封慎轿正装(库函数就是对系统调用的一种封装)。
3.return不是系统调用,也不是库函数,而是一个关键字,表示调用堆栈的返回(过程活动记录),是函数的退出,而不是进程的宽悔退出。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)