os.system(command)与os.startfile()的区别?

两者都可以调用系统的应用程序,区别在哪呢?还有os.startfile()调用可执行文件又怎么理解呢?

os.system(command)
如果运行命令卡,程序也卡

等待notepad窗口退出后再继续执行(主进程打开新的窗口,原窗口进入休眠状态,待新的窗口关闭,主进程再重新唤醒原窗口)

os.startfile()

打开窗口后不等待窗口退出直接继续执行(主进程创建一个子进程去打新的窗口,主进程创建完成子进程后立即继续往下执行)

#直接调用可执行的文件,下例子运行脚本,脚本有执行权限
os.startfile(r"/usr/local/test.sh")