pid是什么意思

pid是什么意思,第1张

1、进程控制符:“pid”可以表示进程控制符,是英文“ProcessIdentifier”的缩写,主要应用于电子行业。

2、比例积分微分:“pid”可以表示“Proportion(比例)、Integration(积分)、Differentiation(微分)”的缩写,作为数学物理术语,主要应用于工程控制领域。

3、进程标识符:“pid”还可以表示进程标识符,是“ProcessIdentification”的缩写,是 *** 作系统中的进程识别号。

id和pid都是程序设计者或者数据库设计者自定的名称,本身没有啥本质区别的,就像一个人叫张三还是张三丰有什么区别么?真要说区别就是后者比前者多了一个字而已。只要你高兴,你可以把数据库的编号设为id、bianhao、bh、tmd或者直接用汉字“编号”都是可以的,之所以用id是延续了英文的使用习惯,是一种不成文的规定,是约定俗成,而且大部分的数据库软件(如ACCESS)都是默认用id作为编号字段的名称(可以改的)。而用pid是在有多个库的情况下,为了和其他库的id进行区别而设的。一般来说,pid表示产品编号(p就是Product),其他类似的还有用户编号uid(u就是User)等等。

MySQL pid 文件记录的是当前 mysqld 进程的 pid,pid 亦即 Process ID。

可以通过如下的例子查看:

$ /etc/init.d/mysqld start

Starting MySQL. SUCCESS!

$ ll /data/mysql/centos.pid

-rw-rw---- 1 mysql mysql 5 Apr  8 09:16 /data/mysql/centos.pid

$ cat /data/mysql/centos.pid

1598

$ ps -ef | grep mysql | grep -v grep

root      1476     1  0 09:16 pts/0    00:00:00 /bin/sh \

/usr/local/mysql/bin/mysqld_safe \

--datadir=/data/mysql \

--pid-file=/data/mysql/centos.pid

mysql     1598  1476  0 09:16 pts/0    00:00:00 /usr/local/mysql/bin/mysqld \

--basedir=/usr/local/mysql \

--datadir=/data/mysql --user=mysql \

--log-error=/data/mysql/centos.err \

--pid-file=/data/mysql/centos.pid \

--socket=/tmp/mysql.sock \

--port=3306

1、未指定 pid 文件时,pid 文件默认名为 主机名.pid,存放的路径在默认 MySQL 的数据目录。通过 mysqld_safe 启动 MySQL 时,mysqld_safe 会检查 pid 文件,如果 pid 文件不存在,不做处理;如果文件存在,且 pid 已占用则报错 "A mysqld process already exists",如果文件存在,但 pid 未占用,则删除 pid 文件。

2、查看 MySQL 的源码可以知道,mysqld 启动后会通过 create_pid_file 函数新建 pid 文件,通过 getpid() 获取当前进程 pid 并将 pid 写入 pid 文件。

3、因此,通过 mysqld_safe 启动时, MySQL pid 文件的作用是:在数据文件是同一份,但端口不同的情况下,防止同一个数据库被启动多次。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10030507.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存