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的更多相关文章

  1. JDK源码之Lock接口

    public interface Lock { //阻塞的获取锁,如果获取到锁,从该方法返回 void lock(); //可中断的获取锁,该方法会响应中断,在锁的获取中可以中断当前线程 void l ...

  2. java多线程系列:ThreadPoolExecutor源码分析

    前言 这篇主要讲述ThreadPoolExecutor的源码分析,贯穿类的创建.任务的添加到线程池的关闭整个流程,让你知其然所以然.希望你可以通过本篇博文知道ThreadPoolExecutor是怎么 ...

  3. Java高并发程序设计学习笔记(五):JDK并发包(各种同步控制工具的使用、并发容器及典型源码分析(Hashmap等))

    转自:https://blog.csdn.net/dataiyangu/article/details/86491786#2__696 1. 各种同步控制工具的使用1.1. ReentrantLock ...

  4. Android 开源项目源码解析(第二期)

    Android 开源项目源码解析(第二期) 阅读目录 android-Ultra-Pull-To-Refresh 源码解析 DynamicLoadApk 源码解析 NineOldAnimations ...

  5. 【JDK】JDK源码分析-AbstractQueuedSynchronizer(1)

    概述 前文「JDK源码分析-Lock&Condition」简要分析了 Lock 接口,它在 JDK 中的实现类主要是 ReentrantLock (可译为“重入锁”).ReentrantLoc ...

  6. 【JDK】JDK源码分析-AbstractQueuedSynchronizer(2)

    概述 前文「JDK源码分析-AbstractQueuedSynchronizer(1)」初步分析了 AQS,其中提到了 Node 节点的「独占模式」和「共享模式」,其实 AQS 也主要是围绕对这两种模 ...

  7. 【JDK】JDK源码分析-ReentrantLock

    概述 在 JDK 1.5 以前,锁的实现只能用 synchronized 关键字:1.5 开始提供了 ReentrantLock,它是 API 层面的锁.先看下 ReentrantLock 的类签名以 ...

  8. 死磕 java同步系列之ReentrantLock源码解析(一)——公平锁、非公平锁

    问题 (1)重入锁是什么? (2)ReentrantLock如何实现重入锁? (3)ReentrantLock为什么默认是非公平模式? (4)ReentrantLock除了可重入还有哪些特性? 简介 ...

  9. 多线程高并发编程(3) -- ReentrantLock源码分析AQS

    背景: AbstractQueuedSynchronizer(AQS) public abstract class AbstractQueuedSynchronizer extends Abstrac ...

随机推荐

  1. bodgeit测试平台

    下载war安装包:https://code.google.com/archive/p/bodgeit/downloads http://resources.infosecinstitute.com/t ...

  2. (转)作为一个新人,怎样学习嵌入式Linux?(韦东山)

    被问过太多次,特写这篇文章来回答一下.   在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).C语言要学到什么程度呢?越熟当然越好,不熟的话也 ...

  3. Material Design系列第四篇——Defining Shadows and Clipping Views

    Defining Shadows and Clipping Views This lesson teaches you to Assign Elevation to Your Views Custom ...

  4. 原生js--元素尺寸、位置和溢出

    判断元素尺寸和位置的方法: elem.getBoundingClientRect()  // 已验证IE7+.firefox.chrome均支持此方法 该方法返回一个对象(坐标值为视口坐标,不是文档坐 ...

  5. 外网电脑配置8G运行内存,运行Android Studio,速度很轻松

    Win 7系统 之前RAM是 4 G,运行Android studio ,再运行浏览器或办公软件时卡的一比.再插入一个 4G内存条,总共8G时,速度嗖的一下就上来了.

  6. Linux 安装Ruby详解(在线和离线安装)

    很多时候我们会发现,真实的生成环境很多都没有外网,只有内网环境,这个时候我们又需要安装Ruby,则不能提供yum命令进行在线安装了,这个时候我们就需要下载安装包进行离线安装.本文主要简单介绍如果离线安 ...

  7. 开发常见错误之 : IMP-00058: 遇到 ORACLE 错误 1691

    IMP-00058: 遇到 Oracle 错误 1691ORA-01691: Lob 段YQPRO.SYS_LOB0000031467C00006$$无法通过128(在表空间YQPRO中)扩展这种情况 ...

  8. sencha touch 我的公用类myUtil(废弃 仅参考)

    /*公共类*/ Ext.define('myUtil', { statics: { //store公用加载方法 storeLoadById: function (id) { var store = E ...

  9. 1007: [HNOI2008]水平可见直线[维护下凸壳]

    1007: [HNOI2008]水平可见直线 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 7184  Solved: 2741[Submit][Sta ...

  10. Windows平台编译memcached 1.2.6

    两个项目libevent.memcached,Platform Toolset使用Visual Studio 2013 - Windows XP (v120_xp).在编译memcached时会提示& ...