pid

nsenter工具 通过docker pid进入到docker容器里

元气小坏坏 提交于 2020-03-08 17:07:13
pid 可以是dockerID 也可以是docker 里面起的进程ID ##安装 wget https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.32/util-linux-2.32.tar.gz tar -xzvf util-linux-2.32.tar.gz cd util-linux-2.32/ ./configure --without-ncurses make nsenter cp nsenter /usr/local/bin ##为了连接到容器,我们还需要找到容器的第一个进程的PID,可以通过下面的命令获取 PID=$(docker inspect --format "{{ .State.Pid}}" <container id>) top nsenter --target PID --mount --uts --ipc --net --pid ##进入到docker之后 env ##查看环境变量信息 获取到docker 的hostname 这是docker 编号 docker inspect 容器编号 ##查看容器详细信息 来源: 51CTO 作者: dwl1988721 链接: https://blog.51cto.com/1014810/2475215

自测之Lesson8:进程操作

放肆的年华 提交于 2020-03-05 23:06:19
题目:请解释wait是如何同步父子进程的。 程序代码: #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <stdlib.h> #include <sys/wait.h> int main() { pid_t pid; printf("Start main..., pid:%d\n", getpid()); pid = fork(); if (pid == 0) { sleep(3); // 父进程先执行完毕,本应先退出,却因为wait而等待子进程 printf("This is a child process, pid:%d\n", getpid()); } else { printf("This is father process, pid:%d\n", getpid()); } printf("End main.., pid:%d\n", getpid()); wait(NULL); // 父进程等到子进程结束才退出 return 0; }    题目:编写一个守护进程,要求其一直打开记事本。 程序代码: #include <stdio.h> #include <unistd.h> #include <sys/wait.h> #include <sys/stat.h> #include

我的PID库与PID基本优化(二)

笑着哭i 提交于 2020-03-03 23:58:52
本系列旨在以我自己写的PID lib为例,讲一下PID的几点基本优化,PID的基本原理网上有很多资料,因此本系列将不会涉及PID的基本实现原理,在这里特别推荐Matlab tech talk的PID教程: https://ww2.mathworks.cn/videos/series/understanding-pid-control.html 。 由于笔者大一在读,还没有学习自动控制原理等课程,因此本系列将不会从自控原理角度展开,相反的,本系列将试图 从“直觉”展开 ,通过直观的描述让大家从直觉上感受并理解PID的一些包括微分先行、积分分离等基础的优化。 由于笔者水平有限,文中难免存在一些不足和错误之处,诚请各位批评指正。 我的PID库与PID基本优化(一) 中讲解了代码结构与代码使用,算法有关内容于该篇开始 1 梯形积分 1.1 问题 积分项的作用在绝大多数情况下是消除静差,为了更精准的消除静差,我们需要提高积分项的计算精度。在一般的PID算法中,我们通过矩形面积来近似计算积分,在微积分中我们了解到,当 \(\Delta t\) 趋近于无穷小时,这些矩形面积的累加就会无限逼近曲线与坐标轴围成的面积。 1.2 解决方案 为了达到更精准的控制,我们一般可以通过提高控制频率来实现,但在某些情况下受制于控制设备算力,我们无法以很高的频率来运行我们的算法。因此我们可以用梯形代替矩形

如何打开写好的jpetstore

夙愿已清 提交于 2020-03-01 03:37:23
1.停止正在占用8080端口的应用 打开cmd窗口,输入netstat -ano | find “:8080”,查到pid 输入tasklist /fi “pid eq pid”,查到应用的名字 打开任务管理器,停止应用 2.第二步就比较神奇了 打开tomcat的bin目录,先shutdown再startup 3.将jpetstore的.war文件拷到tomcat的webapps目录下 4.在浏览器地址栏输入localhost:8080/war文件名 来源: CSDN 作者: CSU迦叶 链接: https://blog.csdn.net/weixin_44997802/article/details/104575037

Apache启动错误:could not bind to address[::]:443

送分小仙女□ 提交于 2020-02-29 14:02:37
Q:Windows环境下启动apache报错如下: 可是在httpd.conf文件中apache listen的明明是http 80端口,为什么会报443的错误? A:因为你的计算机安装了VM,所有有个vm的进程一直占用着443端口,在命令行下netstat -ano查到那个进程的pid后打开任务管理器把进程干掉,然后重启就好了。 注:命令行下如何杀死进程? ①taskkill /im 进程名称 示例:用taskkill /im VStart.exe命令关闭音速启动,VStart.exe就是音速启动的进程名称。 ②taskkill /pid[进程码] -t(结束该进程) -f(强制结束该进程以及所有子进程) 注:有两种方法查进程的PID码: ①在命令行下用 tasklist 命令查出进程的PID号码; ②在任务管理器中的查看选项中选择选择列中勾先PID那一项。 来源: oschina 链接: https://my.oschina.net/u/2312175/blog/649077

Linux系统编程fork详解

烈酒焚心 提交于 2020-02-27 17:25:56
使用fork函数会创建一个和父进程相同的子进程。在调用了fork函数后,会先为子进程申请一个PID号,然后申请一个PCB结构,然后将父进程的PCB结构复制过来,对于父进程的虚拟空间内的内容用到了读时共享,写时复制的机制(下面会讲)。 #include <sys/types.h> #include <unistd.h> pid_t fork(void); 对于fork函数没有参数,会返回一个pid_t的参数用来表示创建的子进程的PID号。如果返回的pid_t等于0的话表示当前的进程是子进程,如果返回的pid_t是大于0的数说明当前的进程是父进程,如果返回-1说明出错并设置errno。示例代码如下: pid_t pid = fork(); if(pid > 0){ printf("This is father pid\n"); } else if(pid == 0){ printf("This is son pid\n"); } else{ perror("fork"); exit(1); } 此外还有两个函数可以用来查看当前的进程id和当前进程的父进程的id,分别是getpid()和getppid(),对应的参数如下: #include <sys/types.h> #include <unistd.h> pid_t getpid(void); pid_t getppid(void);

孤儿进程与僵尸进程[总结]

早过忘川 提交于 2020-02-27 17:12:09
今天遇到一个linux进程启动时指定Max open files不对的问题,导致程序建立socket异常,进而导致fullgc问题,影响正常服务。所以顺带又温习了下linux下的父子进程的特性。 孤儿进程与僵尸进程[总结] 1、前言   之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入,倍感惭愧。晚上回来google了一下,再次参考APUE,认真总结一下,加深理解。 2、基本概念   我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。 当一个 进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。   孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。   僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程

2020-02-26

耗尽温柔 提交于 2020-02-26 15:23:09
解决端口被占用问题 1.命令行窗口输入netstat -ano找到你需要端口对应的PID。然后进入任务管理器查看进程,在查看点击选择列,选择PID,找到你需要的PID,右键结束进程。 2.或者更改端口 来源: CSDN 作者: 浅浅浅浅浅忆y 链接: https://blog.csdn.net/weixin_46412737/article/details/104515768

Binder IPC的权限控制

可紊 提交于 2020-02-26 09:41:19
copy from : http://gityuan.com/2016/03/05/binder-clearCallingIdentity/ 基于Android 6.0的源码剖析, 分析Binder IPC通信的权限控制方法clearCallingIdentity和restoreCallingIdentity的原理和用途。 frameworks/base/core/java/android/os/Binder.java frameworks/base/core/jni/android_util_Binder.cpp frameworks/native/libs/binder/IPCThreadState.cpp 一、概述 在 Binder系列 中通过十篇文章,深入探讨了Android M的Binder IPC机制。看过Android系统源代码的朋友,一定看到过 Binder.clearCallingIdentity() 和 Binder.restoreCallingIdentity() 这两个方法,其定义在 Binder.java 文件: //作用是清空远程调用端的uid和pid,用当前本地进程的uid和pid替代; public static final native long clearCallingIdentity(); //作用是恢复远程调用端的uid和pid信息,正好是

每个套接字地址error

怎甘沉沦 提交于 2020-02-24 06:31:51
套接字问题 1 netstat -aon|findstr 5037 2 根据pid,查询占用端口的应用,这里的pid为 8672,查询命令如图 3 杀死对应的PID,taskkill /pid 8672 /f 4 是不是杀不掉,哈哈哈哈 5 根据步骤2,在任务管理器里,直接结束进程,由于我已经结束掉了,所以图里没有; 当然你可能在任务管理器里,还是结束不掉对应进程 6 看看你的移动设备是不是还链接着电脑,把手机拔掉,如果对应进程没有自动消失, 那就尝试把进程杀掉,如果自动消失了,再重新连接上手机, 执行adb devices,希望你能成功,如果还不行,那我还真没辙了! 随便建了个群:219537016,有问题可以往里抛,估计也解决不了!qinjian! 来源: https://www.cnblogs.com/wujianqinjian/p/7742561.html