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. Git Step by Step – (2) 本地Repo

    前面一篇文章简单介绍了Git,并前在Windows平台上搭建了Git环境,现在就正式的Git使用了. Git基本概念 在开始Git的使用之前,需要先介绍一些概念,通过这些概念对Git有些基本的认识,这 ...

  2. RFC文件

    RFC(Request For Comments)-意即“请求评议”,包含了关于Internet的几乎所有重要的文字资料.如果你想成为网络方面的专家,那么RFC无疑是最重要也是最经常需要用到的资料之一 ...

  3. linux 下查看cpu信息

    linux 操作系统的位数查看 A. getconf LONG_BIT 如果是32表示是32位 B.  file /sbin/init信息全面一些 root@kali:~/software# file ...

  4. Failed to resolve

    一: 把//classpath 'com.android.tools.build:gradle:2.2.2'改成classpath 'com.android.tools.build:gradle:3. ...

  5. C语言的f(open)函数(文件操作/读写)

    头文件:#include <stdio.h> fopen()是一个常用的函数,用来以指定的方式打开文件,其原型为:     FILE * fopen(const char * path, ...

  6. Xcode - 添加自定义代码提示

    在开发过程中我们要学会去模仿苹果的一些用法,这样才能让开发更有效率,更规范. 1.苹果自带的代码片段提示 代码片段就是你在Xcode中敲for然后回车,你会看到 for (<#initializ ...

  7. 清空Cookie

    function delCookie() { ; i < cookies.length; i++) { try { document.cookie = cookies[i] + "=0 ...

  8. IE6/IE7/IE8下float:right的异常及其解决方法

    1.最简单的方法就是调换顺序,将需要右浮动的元素写在前面.写成这样:<h2><a href="#">更多>></a>小标题</ ...

  9. android第三方---->android智能机器人的使用

    在网上找了个第三方智能机器人,可以实现聊天语音等功能,比较不错的.今天我们就开始智能机器人聊天的学习,例子中涉及的handler的有关知识和json数据的解析,请参见我的博客:android基础--- ...

  10. LeetCode——Nim Game

    Description: You are playing the following Nim Game with your friend: There is a heap of stones on t ...