源码 mongod.lock shutdown
https://github.com/mongodb/mongo/blob/master/src/mongo/db/db.cpp
1、
退出原理
/proc/" << pid
判断文件是否存在
2、
mongod.lock
内容为进程号,位置在mongond.conf中的dbpath配置项下
[root@f dump]# ll -as /proc/6503/
total 0
0 dr-xr-xr-x 9 root root 0 Dec 28 13:01 .
0 dr-xr-xr-x 119 root root 0 Apr 11 2018 ..
0 dr-xr-xr-x 2 root root 0 Dec 28 14:59 attr
0 -rw-r--r-- 1 root root 0 Dec 28 14:59 autogroup
0 -r-------- 1 root root 0 Dec 28 14:59 auxv
0 -r--r--r-- 1 root root 0 Dec 28 13:02 cgroup
0 --w------- 1 root root 0 Dec 28 14:59 clear_refs
0 -r--r--r-- 1 root root 0 Dec 28 13:02 cmdline
0 -rw-r--r-- 1 root root 0 Dec 28 14:59 comm
0 -rw-r--r-- 1 root root 0 Dec 28 14:59 coredump_filter
0 -r--r--r-- 1 root root 0 Dec 28 14:59 cpuset
0 lrwxrwxrwx 1 root root 0 Dec 28 14:59 cwd -> /
0 -r-------- 1 root root 0 Dec 28 14:59 environ
0 lrwxrwxrwx 1 root root 0 Dec 28 13:02 exe -> /usr/local/mongodb/bin/mongod
0 dr-x------ 2 root root 0 Dec 28 13:03 fd
0 dr-x------ 2 root root 0 Dec 28 14:59 fdinfo
0 -rw-r--r-- 1 root root 0 Dec 28 14:59 gid_map
0 -r-------- 1 root root 0 Dec 28 14:59 io
0 -r--r--r-- 1 root root 0 Dec 28 14:59 limits
0 -rw-r--r-- 1 root root 0 Dec 28 14:59 loginuid
0 dr-x------ 2 root root 0 Dec 28 14:59 map_files
0 -r--r--r-- 1 root root 0 Dec 28 14:59 maps
0 -rw------- 1 root root 0 Dec 28 14:59 mem
0 -r--r--r-- 1 root root 0 Dec 28 14:59 mountinfo
0 -r--r--r-- 1 root root 0 Dec 28 14:59 mounts
0 -r-------- 1 root root 0 Dec 28 14:59 mountstats
0 dr-xr-xr-x 5 root root 0 Dec 28 14:59 net
0 dr-x--x--x 2 root root 0 Dec 28 14:59 ns
0 -r--r--r-- 1 root root 0 Dec 28 14:59 numa_maps
0 -rw-r--r-- 1 root root 0 Dec 28 14:59 oom_adj
0 -r--r--r-- 1 root root 0 Dec 28 14:59 oom_score
0 -rw-r--r-- 1 root root 0 Dec 28 14:59 oom_score_adj
0 -r--r--r-- 1 root root 0 Dec 28 14:59 pagemap
0 -r--r--r-- 1 root root 0 Dec 28 14:59 personality
0 -rw-r--r-- 1 root root 0 Dec 28 14:59 projid_map
0 lrwxrwxrwx 1 root root 0 Dec 28 14:59 root -> /
0 -rw-r--r-- 1 root root 0 Dec 28 14:59 sched
0 -r--r--r-- 1 root root 0 Dec 28 14:59 schedstat
0 -r--r--r-- 1 root root 0 Dec 28 14:59 sessionid
0 -rw-r--r-- 1 root root 0 Dec 28 14:59 setgroups
0 -r--r--r-- 1 root root 0 Dec 28 14:59 smaps
0 -r--r--r-- 1 root root 0 Dec 28 14:59 stack
0 -r--r--r-- 1 root root 0 Dec 28 13:01 stat
0 -r--r--r-- 1 root root 0 Dec 28 13:03 statm
0 -r--r--r-- 1 root root 0 Dec 28 13:03 status
0 -r--r--r-- 1 root root 0 Dec 28 14:59 syscall
0 dr-xr-xr-x 70 root root 0 Dec 28 14:59 task
0 -r--r--r-- 1 root root 0 Dec 28 14:59 timers
0 -rw-r--r-- 1 root root 0 Dec 28 14:59 uid_map
0 -r--r--r-- 1 root root 0 Dec 28 14:59 wchan
[root@f dump]# cat /mnt/mongodb_data/data/mongod.lock
6503
[root@f dump]# cat /usr/local/mongodb/conf/mongod.conf
#bind_ip=10.144.114.65 # 网络切换
bind_ip=0.0.0.0
port=27017
dbpath=/mnt/mongodb_data/data
mongod.lock
源码 mongod.lock shutdown的更多相关文章
- JDK源码之Lock接口
public interface Lock { //阻塞的获取锁,如果获取到锁,从该方法返回 void lock(); //可中断的获取锁,该方法会响应中断,在锁的获取中可以中断当前线程 void l ...
- java多线程系列:ThreadPoolExecutor源码分析
前言 这篇主要讲述ThreadPoolExecutor的源码分析,贯穿类的创建.任务的添加到线程池的关闭整个流程,让你知其然所以然.希望你可以通过本篇博文知道ThreadPoolExecutor是怎么 ...
- Java高并发程序设计学习笔记(五):JDK并发包(各种同步控制工具的使用、并发容器及典型源码分析(Hashmap等))
转自:https://blog.csdn.net/dataiyangu/article/details/86491786#2__696 1. 各种同步控制工具的使用1.1. ReentrantLock ...
- Android 开源项目源码解析(第二期)
Android 开源项目源码解析(第二期) 阅读目录 android-Ultra-Pull-To-Refresh 源码解析 DynamicLoadApk 源码解析 NineOldAnimations ...
- 【JDK】JDK源码分析-AbstractQueuedSynchronizer(1)
概述 前文「JDK源码分析-Lock&Condition」简要分析了 Lock 接口,它在 JDK 中的实现类主要是 ReentrantLock (可译为“重入锁”).ReentrantLoc ...
- 【JDK】JDK源码分析-AbstractQueuedSynchronizer(2)
概述 前文「JDK源码分析-AbstractQueuedSynchronizer(1)」初步分析了 AQS,其中提到了 Node 节点的「独占模式」和「共享模式」,其实 AQS 也主要是围绕对这两种模 ...
- 【JDK】JDK源码分析-ReentrantLock
概述 在 JDK 1.5 以前,锁的实现只能用 synchronized 关键字:1.5 开始提供了 ReentrantLock,它是 API 层面的锁.先看下 ReentrantLock 的类签名以 ...
- 死磕 java同步系列之ReentrantLock源码解析(一)——公平锁、非公平锁
问题 (1)重入锁是什么? (2)ReentrantLock如何实现重入锁? (3)ReentrantLock为什么默认是非公平模式? (4)ReentrantLock除了可重入还有哪些特性? 简介 ...
- 多线程高并发编程(3) -- ReentrantLock源码分析AQS
背景: AbstractQueuedSynchronizer(AQS) public abstract class AbstractQueuedSynchronizer extends Abstrac ...
随机推荐
- WAF Bypass 笔记(SQL注入篇)
0x01 背景 waf Bypass 笔记 0x02 服务器特性 1.%特性(ASP+IIS) 在asp+iis的环境中存在一个特性,就是特殊符号%,在该环境下当们我输入s%elect的时候,在WAF ...
- head first python 支持网站(可下载所有的代码和示例)
http://examples.oreilly.com/0636920003434/
- using 释放内存的写法
using (FileStream fileStream = File.Open(fileName,FileMode.Open,FileAccess.Read,FileShare.ReadWrite) ...
- CharacterMotor_刚体角色驱动
using UnityEngine; //this class holds movement functions for a rigidbody character such as player, e ...
- Theme.AppCompat.Light的解决方法
style name=”AppBaseTheme” parent=”Theme.AppCompat.Light” 改为 改为 style name=”AppBaseTheme” parent=”and ...
- maven默认本地仓库目录
C:\Users\${姓名}\.m2\repository\
- iOS 沙盒目录结构及正确使用
前言:处于安全考虑,iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的文件(也有例外,比如在用户授权情况下访问通讯录,相册等),这个规则展示了iOS系统的封闭性.在开发中常常需要数据存储的功 ...
- Thinkphp 去除bom头 解决模版空输出问题
<?php if (isset($_GET['dir'])){ //config the basedir $basedir=$_GET['dir']; }else{ $basedir = '.' ...
- [转载]使用PHP模拟HTTP认证
[转载]使用PHP模拟HTTP认证 如果你希望在每个脚本的基础上实现口令保护功能,那么你可以通过结合header()函数和$PHP_AUTH_USER.$PHP_AUTH_PW全局变量的方法来创建一个 ...
- WEB服务器控件对应生成的HTML标签 及最常应用事例
首先得了解WEB服务器控件对应生成的HTML标签 label----------<span/>button---------<input type="submit" ...