linux中,命令后加&与不加&的本质区别是什么? 我知道加&表示是后台运行?

那本质上,从LINUX内核的角度来说,到底有什么不同呢、

加&是把命令交给linux内核去运行一个进程任务,
不加是通过shell来启动一个进程任务。
linux是一个多任务的操作系统,shell可以理解为一个单任务的操作系统(就像DOS一样)。
单任务操作系统,可以通过自己启动另一个任务。
多任务操作系统,可以同时运行多个任务。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-02-22
个人觉得:
在shell里面执行一个程序,对shell来说就是创建一个进程
加&时创建完进程后直接返回shell命令行
不加&时,创建完进程后等待子进程结束后再返回shell命令行
第2个回答  2018-03-18
启动进程后面加上 & 表示 让进程在后台执行,即立即返回到shell,让内核执行该进程。
如果不加 & 直接执行的进程的话, shell就会被挂起,需要进程执行完后shell 才能使用。个人理解。
相似回答