zoukankan      html  css  js  c++  java
  • pid文件的作用

    pid文件的作用


    一、pid文件的作用

    1.pid文件的内容
    用cat命令查看,可以看到内容只有一行,记录了该进程的ID

    2.pid文件的作用
    防止启动多个进程副本

    3.pid文件的原理
    进程运行后会给.pid文件加一个文件锁,只有获得pid文件(固定路径固定文件名)写入权限(F_WRLCK)的进程才能正常启动并把自身的PID写入该文件中。其它同一个程序的多余进程则自动退出。

    二、mysql的pid文件

    mysql pid文件记录的是当前mysqld进程的pid.

    通过Mysqld_safe启动mysql时,mysqld_safe会检查pid文件,未指定PID文件时,pid文件默认名为$DATADIR/`hostname`.pid

          1)pid文件不存在,不做处理

          2)文件存在,且pid已占用则报错"A mysqld process already exists"

             文件存在,,但pid未占用,则删除pid文件

    mysqld启动后会通过create_pid_file函数新建pid文件,通过getpid()获取当前进程pid并将PID写入pid文件。 

    因此,通过mysqld_safe启动时,PID文件的作用是为了防止同一个数据库被启动多次(数据文件是同一份,但端口不同的情况)。

    三、mysql中的socket文件的作用

    mysql中的socket文件的作用涉及到mysql的连接方式,mysql的客户端连接mysql的服务端有两种方式,一种是TCP/IP方式,一种是socket文件的方式。

    (1)TCP/IP 套接字方式

    这种方式会在TCP/IP 连接上建立一个基于网络的连接请求,一般是client连接跑在Server上的MySQL实例,2台机器通过一个TCP/IP 网络连接。

    C:Usersgechong>mysql -h 192.168.1.10 -uroot -p
    Enter password: *
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 6
    Server version: 5.5.20-log MySQL Community Server (GPL)
    Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.

    Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.

    mysql>

    这里的客户端是Windows,向IP为192.168.1.10 的服务器上的MySQL实例发起了TCP/IP请求,连接成功后就可以使用MySQL了。

    (2)UNIX域套接字
    UNIX域套接字并不是网络协议,所以只能在MySQL客户端和数据库实例在一台服务器上使用,用户可以在配置文件中指定套接字文件,在登录mysql的时候可以加上socket。使用socket你无须定义连接host的具体IP地址,只要为空或127.0.0.1就可以。
    –socket=/tmp/mysql.sock

    mysql> SHOW VARIABLES LIKE ‘socket’;
    +—————+—————–+
    | Variable_name | Value |
    +—————+—————–+
    | socket | /tmp/mysql.sock |
    +—————+—————–+
    1 row in set (0.00 sec)

    #mysql -uroot -S/tmp/mysql.sock

    参考资料:

    1、https://blog.csdn.net/qq_29113041/article/details/79508244,pid文件的作用

    2、https://www.cnblogs.com/justfortaste/p/4119657.html,mysql pid文件的作用

    3、https://blog.csdn.net/uphailin/article/details/69382142, mysql pid文件和socket文件的作用

    4、https://blog.csdn.net/fruitful_life/article/details/53153972, pid文件的作用的详细解释

  • 相关阅读:
    小程序开发之初体验
    phantomjs 爬去动态页面
    css实现三角形
    多种方式实现千位分隔符
    基于浏览器的人脸识别标记
    Axios源码阅读笔记#1 默认配置项
    基于图形检测API(shape detection API)的人脸检测
    页面性能优化
    目标
    HelloWorld!
  • 原文地址:https://www.cnblogs.com/zhangzl419/p/10527848.html
Copyright © 2011-2022 走看看