源码 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 ...
随机推荐
- MongoDB(六)-- 集群搭建
一.集群介绍 sharding通过将数据集分布于多个也称作分片(shard)的节点上来降低单节点的访问压力.每个分片都是一个独立的数据库,所有的分片组合起来构成一个逻辑上的完整意义的数据库.因此,分片 ...
- zabbix设置报警通知
邮件通知是最流行的报警通知方式,这里配置邮件通知 1. 配置通知邮箱信息(发件人)的邮箱信息 2. 填写信息 3. 事件(Action)通知配置 点击创建动作 添加一个触发条件 点击添加 添加一个操作 ...
- c语言学习笔记---预编译
专题三: 1) 预编译 处理所有的注释,以空格代替, 将所有的#define删除,并且展开所有的宏定义, 处理条件编译指令#if,#ifdef,#elif,#else,#endif 处理# ...
- PyQt4程序图标
程序图标就是一个小图片,通常显示在程序图标的左上角(ubuntu gnome在最上侧). #!/usr/bin/python # -*- coding:utf-8 -*- import sys fro ...
- PyQt4简单的窗口程序
下面的程序显示了一个简单的小窗口. #!/usr/bin/python # -*- coding:utf-8 -*- import sys from PyQt4 import QtGui app = ...
- 为JDK自带的jvisualvm安装Visual GC插件
1.打开cmd,输入jvisualvm,回车: 2.点击工具——>插件; 3.访问网址:https://visualvm.github.io/pluginscenters.html,找到自己JD ...
- ANDROID – 單色漸層效果的改良 – GRADIENT SCRIMS(转)
本篇是根據 +Roman Nurik 在 2014/11/24 發佈的一篇 G+ 而來.看到他發文後,起了好奇心,就根據他提出的方法嘗試著實作,並將之排列呈現,直接從視覺上做個比較. 他在 G+ 的發 ...
- Android设计和开发系列第二篇:Action Bar(Design)
Action Bar The action bar is a dedicated piece of real estate at the top of each screen that is gene ...
- laravel curl post json
<?php namespace App\BO; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; us ...
- Elasticsearch学习之SearchRequestBuilder常用方法说明
SearchRequestBuilder常用方法说明 (1) setIndices(String... indices):上文中描述过,参数可为一个或多个字符串,表示要进行检索的index: (2) ...