Linux内核-进程退出


         进程退出表示进程结束运行。Linux系统中进程的退出分为正常退出和异常退出。

         (1)正常退出:在main函数中执行return返回;调用exit函数;调用_exit()函数。

         (2)异常退出:调用abort;进程收到某个信号,该信号使程序终止。

不管哪中方式都会执行内核中同样一段代码。这段代码用来关闭进程所有打开的文件描述符,释放它所占有的所有资源。

         各种退出方式的比较:

       (1)exit和return的区别:exit是一个函数;return是函数执行完的返回。exit把控制权交给系统,而return把控制权交给调用者。

       (2)exit和abort的区别:exit是进程正常退出,abort是异常终止。

       (3)exit(int exit_code):exit中的参数exit_code为0代表进程正常终止,若为其他值表示程序过程中有错误发生。

       (4)exit和_exit()的区别:exit()在stdlib.h中声明,而_exit()在unistd.h中声明,两个函数均能正常终止进程,但_exit()执行后立即返回给内核,而exit要执行一些清楚操作,然后再把控制权交给内核。



.使用cp命令复制文件或文件夹


cp 源文件(文件夹) 目标文件(文件夹)

常用参数:


-r 递归复制整个目录树


-v 显示详细信息


1.在相同文件夹下复制文件:

eg: cp wenjian wenjian-2

linux processbuilder 脱离父进程 linux 进程退出_.net

就在同一个文件夹下复制了名为“wenjian”的文件,并且复制得到的文件名叫“wenjian-2”

2.在不同文件夹下复制文件:

eg: cp wenjian /

linux processbuilder 脱离父进程 linux 进程退出_.net_02


就把文件名为“wenjian”的文件复制到了这个文件夹中,并且复制完之后文件名不改变。

3.用cp命令复制文件夹:


复制文件夹必须加上 -r 的命令。

eg:cp -r 2

linux processbuilder 脱离父进程 linux 进程退出_.net_03


这样不仅复制了这个文件夹,并且把这个文件夹下的文件也都复制到了2中去了

若要显示复制的详细信息,就在参数中加-v


eg: cp -r -v 3或者cp -rv 3就会显示详细信息了。

linux processbuilder 脱离父进程 linux 进程退出_文件名_04

二.移动、重命名文件或目录

1.通过mv命令移动或者重命名文件或目录


格式:mv 文件 目标目录

eg:mv linuxcast /

linux processbuilder 脱离父进程 linux 进程退出_linux_05


则把当前目录下名叫“linuxcast”的文件移动到了的文件夹中,当前目录下就没有这个文件了。它的作用效果类似于“剪切”。

如果指定文件名则可以重命名文件


eg:mv linuxcast-2 /cast1

linux processbuilder 脱离父进程 linux 进程退出_.net_06


就把当前目录下的名叫“linuxcast-2”的文件移动到了这个文件夹中,并且移动后的文件重命名为“cast”.

如果不改变文件目录,只是重命名文件


mv 文件名 文件名


eg: mv linuxcast liangjin


就把当前目录下名为“linuxcast”的文件重命名为:“liangjjin”. 所以,不指定目录,直接在当前目录下移动就是重命名。


三.创建和删除文件

1.通过touch命令可以创建一个空文件或更新文件时间



touch 文件名



在当前目录下创建一个文件



touch /cast



在目录下创建一个名为cast的文件



2.通过rm命令可以删除文件或目录


常用参数:

-i 交互式

-r 递归的删除包括目录中的所有内容

-f 强制删除,没有警告提示(一定要谨慎,冲动是魔鬼哦)


格式:rm 文件名


删除文件夹时要加上-r参数


格式:rm -r 文件夹名


eg:rm -r


就把当中的所有文件连同文件夹一起删除了而没有任何提示。这种操作比较危险,重要的文件说不定就在一瞬间就灰飞烟灭了。我们可以加上-i这个参数。-i的作用是交互的删除文件和文件夹(每删除一个文件系统都会问你是否确定删除)。


eg:rm -ri /

linux processbuilder 脱离父进程 linux 进程退出_linux_07


就把文件夹下的文件一个一个的删除,每删除一个就会征求一下你的意见。

四.创建或删除一个目录


通过mkdir命令创建一个目录

通过rmdir命令删除一个空目录


通过rm -r (-f)命令





         进程退出表示进程结束运行。Linux系统中进程的退出分为正常退出和异常退出。

         (1)正常退出:在main函数中执行return返回;调用exit函数;调用_exit()函数。

         (2)异常退出:调用abort;进程收到某个信号,该信号使程序终止。

不管哪中方式都会执行内核中同样一段代码。这段代码用来关闭进程所有打开的文件描述符,释放它所占有的所有资源。

         各种退出方式的比较:

       (1)exit和return的区别:exit是一个函数;return是函数执行完的返回。exit把控制权交给系统,而return把控制权交给调用者。

       (2)exit和abort的区别:exit是进程正常退出,abort是异常终止。

       (3)exit(int exit_code):exit中的参数exit_code为0代表进程正常终止,若为其他值表示程序过程中有错误发生。

       (4)exit和_exit()的区别:exit()在stdlib.h中声明,而_exit()在unistd.h中声明,两个函数均能正常终止进程,但_exit()执行后立即返回给内核,而exit要执行一些清楚操作,然后再把控制权交给内核。

.使用cp命令复制文件或文件夹


cp 源文件(文件夹) 目标文件(文件夹)

常用参数:


-r 递归复制整个目录树


-v 显示详细信息


1.在相同文件夹下复制文件:

eg: cp wenjian wenjian-2

linux processbuilder 脱离父进程 linux 进程退出_.net

就在同一个文件夹下复制了名为“wenjian”的文件,并且复制得到的文件名叫“wenjian-2”

2.在不同文件夹下复制文件:

eg: cp wenjian /

linux processbuilder 脱离父进程 linux 进程退出_.net_02


就把文件名为“wenjian”的文件复制到了这个文件夹中,并且复制完之后文件名不改变。

3.用cp命令复制文件夹:


复制文件夹必须加上 -r 的命令。

eg:cp -r 2

linux processbuilder 脱离父进程 linux 进程退出_.net_03


这样不仅复制了这个文件夹,并且把这个文件夹下的文件也都复制到了2中去了

若要显示复制的详细信息,就在参数中加-v


eg: cp -r -v 3或者cp -rv 3就会显示详细信息了。

linux processbuilder 脱离父进程 linux 进程退出_文件名_04

二.移动、重命名文件或目录

1.通过mv命令移动或者重命名文件或目录


格式:mv 文件 目标目录

eg:mv linuxcast /

linux processbuilder 脱离父进程 linux 进程退出_linux_05


则把当前目录下名叫“linuxcast”的文件移动到了的文件夹中,当前目录下就没有这个文件了。它的作用效果类似于“剪切”。

如果指定文件名则可以重命名文件


eg:mv linuxcast-2 /cast1

linux processbuilder 脱离父进程 linux 进程退出_.net_06


就把当前目录下的名叫“linuxcast-2”的文件移动到了这个文件夹中,并且移动后的文件重命名为“cast”.

如果不改变文件目录,只是重命名文件


mv 文件名 文件名


eg: mv linuxcast liangjin


就把当前目录下名为“linuxcast”的文件重命名为:“liangjjin”. 所以,不指定目录,直接在当前目录下移动就是重命名。


三.创建和删除文件

1.通过touch命令可以创建一个空文件或更新文件时间



touch 文件名



在当前目录下创建一个文件



touch /cast



在目录下创建一个名为cast的文件



2.通过rm命令可以删除文件或目录


常用参数:

-i 交互式

-r 递归的删除包括目录中的所有内容

-f 强制删除,没有警告提示(一定要谨慎,冲动是魔鬼哦)


格式:rm 文件名


删除文件夹时要加上-r参数


格式:rm -r 文件夹名


eg:rm -r


就把当中的所有文件连同文件夹一起删除了而没有任何提示。这种操作比较危险,重要的文件说不定就在一瞬间就灰飞烟灭了。我们可以加上-i这个参数。-i的作用是交互的删除文件和文件夹(每删除一个文件系统都会问你是否确定删除)。


eg:rm -ri /

linux processbuilder 脱离父进程 linux 进程退出_linux_07


就把文件夹下的文件一个一个的删除,每删除一个就会征求一下你的意见。

四.创建或删除一个目录


通过mkdir命令创建一个目录

通过rmdir命令删除一个空目录


通过rm -r (-f)命令