想知道 mysql 是怎么启动的,看了脚本,发现,启动的关键代码是下面这句
su - mysql -s /bin/sh -c "/usr/bin/mysqld_safe > /dev/null 2>&1 &"
于是,测试,发现了下面这个问题。为什么
/bin/sh -c "test.sh &"
产生的进程,他的父进程 id 是 1 ?
或者,大家给个关键字,或者链接给我,我去看相关内容
1
minami 2018-10-11 19:14:01 +08:00 1
/bin/sh 会起一个子进程来执行命令,执行完成后结束。因为命令是起一个新进程,所以子 shell 进程结束后新进程被 1 接管。如果用 source 来执行命令,就不会起新的子 shell 进程,新进程的 ppid 也不会是 1 了。
可以查看:Shell 脚本的执行方式 |
2
mahone3297 OP |