源码 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 ...
随机推荐
- lua 按拉分析与合成
-- 将数值分解成bytes_table local function decompose_byte(data) if not data then return data end local tb = ...
- iOS in-app purchase详解
in-app purchase教程: http://www.appcoda.com/in-app-purchase-tutorial/ 3.后台服务器验证收据的正确性 IOS 内支付有两种模式: 1) ...
- 设置ADB网络连接目标板
adb connect 网络连接目标板报错,原因参考[http://ytydyd.blog.sohu.com/146260552.html].而且指定 adb connect <IP>:5 ...
- JavaScript的格式--从格式做起,做最严谨的工程师
1.JavaScript的格式: JavaScript区分大小写: JavaScript脚本程序须嵌入在HTML文件中: JavaScript脚本程序中不能包含HTML标记代码:(双引号) 每行写一条 ...
- JS 数组Array常用方法
参考网站: http://www.jb51.net/article/60502.htm,作者:junjie 今天在使用js切割字符串"浙江,江苏 , 天津,"...这样字符串的时候 ...
- Python学习(23):Python面向对象(1)速成
转自 http://www.cnblogs.com/BeginMan/p/3190776.html 一.Python经典类与新类 经典类:如果没有直接或间接的子类化一个对象,也就是说如果没有指定一个父 ...
- Androd Toolbar 的简单使用(转)
14年Android开发者大会提出了Android5.0 系统以及 材料设置 Material Design.在 材料设计中推出了大量的UI效果,其中某些功能 已添加进 兼容包,所以可以在低版本中来实 ...
- 原生js--HTTP进度事件
1.HTTP进度事件属于XHR2规范定义的系列事件 2.事件模型中会触发不同的事件,所以不再需要检查readyState事件 3.当调用send()时,触发loadstart事件 4.当正在加载服务器 ...
- jQuery的一些静态方法
// 该方法被绑定在jQuery对象上,只能通过$.noConflict()调用 noConflict: function( deep ) { // 取消$在window上的绑定,方法是将_$绑定到w ...
- H.264 White Paper学习笔记(二)帧内预测
为什么要有帧内预测?因为一般来说,对于一幅图像,相邻的两个像素的亮度和色度值之间经常是比较接近的,也就是颜色是逐渐变化的,不会一下子突变成完全不一样的颜色.而进行视频编码,目的就是利用这个相关性,来进 ...