最近开始学习Python自动化运维,特记下笔记。 学习中使用的系统是Kali Linux2017.2,Python版本为2.7.14+ 因为在KALI里面没有自带psutil模块,需要使用pip进行安装
今天来学习的是两个非常简单的函数,一个可以用来设置我们执行脚本时运行的进程名。而另一个就是简单的获取当前运行的进程名。这两个函数对于大量的脚本运行代码有很大的作用,比如我们需要 kill 掉某个进程时,可以直接使用我们自己定义的进程名来进行操作。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
通过ActivityManager来获取进程名,网上也能搜索到很多人推荐这个用法。
通常情况下,我们在进行软件开发和服务器管理时,习惯性地使用Linux作为主要的开发服务器。但是有的项目中,由于系统的特殊性,不得不切换到Windows服务器,这样的转变会让人非常不适应。对于那些习惯了Linux的开发者来说,就像博主一样,经常会弄混Linux和windows的指令。这篇文章有意总结一些常用windows命令,希望以后记错的时候方便检索正确的命令。
killall 命令用于杀死指定名字的进程(kill processes by name),即结束同名的的所有进程。在使用kill命令终止进程需要先获取进程PID,而使用killall命令直接使用进程名称,即可终止进程。
frp是用和比较多的反代了,这种工具目的就是24online的,所以写一个监控脚本让其不断线,或者程序出问题终止后自动运行是很有必要的,特别是在内网IP的主机了, frp一出问题就再连不上,所以让其本地恢复是相当重要。
ps -ef | grep 进程名/启动进程的命令 | grep -v grep | awk ‘{print $2}’ | xargs kill -9
KMP算法是一种高效的字符串匹配算法,它的核心思想是利用已经匹配成功的子串前缀的信息,避免重复匹配,从而达到提高匹配效率的目的。KMP算法的核心是构建模式串的前缀数组Next,Next数组的意义是:当模式串中的某个字符与主串中的某个字符失配时,Next数组记录了模式串中应该回退到哪个位置,以便继续匹配。Next数组的计算方法是找出模式串每一个前缀中最长的相等前缀和后缀,并记录下来它们的长度,作为Next数组中的对应值。
(以FreeBSD为服务器监控frps进程为例) 1、创建监控Shell脚本monfrp.sh #! /bin/sh proc_name="frps" #进程名 proc_num() #查询进程数量 { num=`ps -ef | grep $proc_name | grep -v grep | wc -l` #视乎情况"ps -ef"需要更改为"ps -aux" return $num }
在平时的工作中,经常会有某些进程突然 CPU 飙升,导致系统卡顿。那如何才能监控某个进程的 CPU 利用率呢?我们今天就一起用 Python 来实现下。
netstat 功能说明 netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。利用netstat指令可让你得知整个Linux系统的网络情况
获取进程编号的目的是验证主进程和子进程的关系,可以得知子进程是由那个主进程创建出来的。
转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog)
在Linux下有很多命令用于杀死进程,它们可以用于不同的场景,例如通过进程名杀死进程,通过pid杀死进程。这些方法我不准备一一列举,本文想说明的一个问题是,为什么明明通过ps找到了进程,但是通过killall却说找不到呢?如果你没有遇到过这样的问题?那你更要注意了!
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click On Error GoTo Errmessages '在做系统操作时加排错标签是个好习惯 Dim TargetName As String = "WX" '存储进程名为文本型,注:进程名不加扩展名 Dim TargetKill() As Proces
LyDrawingClass 库是一个运用D3Dx9绘图引擎封装实现的外部透视图形绘制模块,其功能参考了多个易语言版ImGUI绘制模块,并将其以C语言进行了重写,在重写过程中也封装了一些自己实现的较为通用的绘图方式,运用此库将使C/C++开发透视功能效率更高无需自己封装一遍,此处只做应用笔记源码暂不发布。
psutil.process_iter() 方法可以返回进程列表信息,再通过匹配名称,获取进程的 pid 即可。
运维工程师经常使用 Python 编写脚本程序来做监控系统运行的状态。如果自己手动使用 Python 的标准库执行系统命令来获取信息,会显得非常麻烦。既要兼容不同操作系统,又要自己处理解析信息。为了解决的痛点问题,psutil 就横空出世。它的出现无疑是运维工程师的福音。运维小伙伴通过它执行一两行代码即可实现系统监控。
这样子我们得出dance_process和sing_process是由main建立的子进程。
具体需求: 1. 由于自主开发的XmZoomEye-Agent目前被动监控为主,为了实现Zabbix Low-Level Discovery服务自主发现,需要根据进程名自动获取占用端口列表,并根据端口分析上报数据
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
根据名称关闭 使用C#结束 private static void StopNginx() { Process[] processes = Process.GetProcessesByName("nginx"); foreach (Process p in processes) { string basePath = AppDomain.CurrentDomain.BaseDirectory; string nginxPath = System.IO.
如图,我通过SetWindowsHookEx()函数向记事本进程中当前窗口线程注入了自己写的dll,dll中设置的回调函数使,当键盘按了1,那么就会触发一个MessageBox。
将 eBPF 程序附加到跟踪点以及内核和用户应用探针点的能力,使得应用程序和系统本身的运行时行为具有前所未有的可见性。通过赋予应用程序和系统两方面的检测能力,可以将两种视图结合起来,从而获得强大而独特的洞察力来排除系统性能问题。
如果命令/进程在前台运行,您可以使用 Ctrl+C 终端快捷方式,但是,如果进程不可见(在后台运行),您可以使用专用命令“杀死它”。
通常的分析手法如下(转自:https://blog.csdn.net/xiaolli/article/details/56012228): (1). 确定是哪类文件打开太多,没有关闭.
显然地址0x144344C8保存的就是阳光,现在退出游戏重新打开,重复上面步骤
在病毒查杀,应用安全对抗,静态逆向应用,动态逆向应用,最重要的对象就是,应用程序的内存数据。
oom_adj 值是 Linux 内核为每个进程分配的 , 该值可以反映进程的优先级 ;
内核进程线程和模块是操作系统内核中非常重要的概念。它们是操作系统的核心部分,用于管理系统资源和处理系统请求。在驱动安全开发中,理解内核进程线程和模块的概念对于编写安全的内核驱动程序至关重要。
GoldenGate软件是一种基于日志的结构化数据复制软件。GoldenGate 能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。
真的很久很久了,距离上一次写gh0st的文章(https://www.leavesongs.com/C/gh0st_3.html),过去有大半年了。总算有一个时间,我放下手里所有的活,能够继续把这份努力延续下去。
print_control_identifiers() 一般展示的内容都比较多控制台显示的只有后面一部分。 该方法直接就是打印到控制台,中间不会输出文本信息,所以想要存储为 text 文本是行不通的。 调整 cmd 的缓冲区大小就可以更全的展示内容了,右键 cmd,点击属性即可进行设置。
SeLinux全称为安全增强式 Security-Enhanced Linux(SeLinux),是一个在内核的强制存取控制(MAC)安全性机制。SeLinux的整体架构和原理都比较简单,使用也不复杂,其复杂的地方在于规则非常复杂,每个进程都要有规则策略;
介绍一个处理进程的实用工具,这个是一个第三方库。应用主要有类似ps、cd、top,还有查看硬盘、内存使用情况等。
介绍一个处理进程的实用工具,这个是一个第三方库。应用主要有类似ps、cd、top,还有查看硬盘、内存使用情况等。 推荐的理由主要有 2 个,第一个是跨平台的,不管是OSX、Centos、Windows还是SUSE、Ubuntu,都可以用这个工具,对于运维来说,非常实用;第二个是强于os.system()、os.popen()以及subprocess,需要对回显处理,但是Psutil只需要对结果,像处理 Dict 一样「返回的属性因平台而异」,就可以轻松拿到想要的东西。
通过 menu().items() 可以获取当前级次下的菜单项,再通过 sub_menu() 判断是有下级菜单项,不断的递归,把所有的菜单项打印出来。
描述:用于报告进程使用的文件和网络套接字,还可以用指定的文件或者文件系统显示进程进程号,默认情况下每一个文件名后会跟着一个字母来表示类型,那些本地进程使用file参数指定的本地或远程文件。
然后通过 get_item('\本地计算机 策略\计算机配置\管理模板') 层级定位的方式即可定位到树节点。
并行:对于多核cpu处理多任务,操作系统会给cpu的每个内核安排一个执行的软件,多个内核是真正的一起执行软件。这里需要注意多核cpu是并行的执行多任务,始终有多个软件一起执行。
psutil模块在获取进程信息方面也提供了很好的支持,包括使用psutil.pids()方法获取所有进程PID
进程Process是对各种资源管理的集合,包含对各种资源的调用、内存的管理、网络接口的调用;一个进程Process可以包含多个子进程,启动一个进程的时候会自动创建一个线程,进程里的第一个线程就是主线程(即python __name__ == ‘__main__’);
Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name)。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。
领取专属 10元无门槛券
手把手带您无忧上云