linux系统

linux shell实现守护进程 看门狗 脚本

别来无恙 提交于 2020-03-17 19:44:25
嵌入式初学者,第一次上传代码。昨天做了一个udhcpd与udhcpc的守护,目前只会用shell模仿编写,还有什么方法可以做守护呢? ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #! /bin/sh #进程名字可修改 PRO_NAME=udhcpc WLAN=ra0 while true ; do # 用ps获取$PRO_NAME进程数量 NUM=` ps aux | grep ${PRO_NAME} | grep - v grep | wc -l` # echo $NUM # 少于1,重启进程 if [ "${NUM}" -lt "1" ]; then echo "${PRO_NAME} was killed" ${PRO_NAME} -i ${WLAN} # 大于1,杀掉所有进程,重启 elif [ "${NUM}" -gt "1" ]; then echo "more than 1 ${PRO_NAME},killall ${PRO_NAME}" killall -9 $PRO_NAME ${PRO_NAME} -i ${WLAN} fi # kill僵尸进程 NUM_STAT=` ps aux | grep ${PRO_NAME} | grep T |

Linux kill 杀死指定进程

断了今生、忘了曾经 提交于 2020-03-17 19:39:10
一 杀死指定进程 现知道有一个php线程正在运行,需要杀死 root 26278 1 0 2015 ? 00:00:31 /usr/local/php/bin/php /var/www/html/redis/daemon/daemon_register.php root 26280 1 0 2015 ? 00:00:34 /usr/local/php/bin/php /var/www/html/redis/daemon/daemon_register.php ps -ef 查询运行进程 leo@localhost$ ps -ef | grep php root 26278 1 0 2015 ? 00:00:31 /usr/local/php/bin/php /var/www/html/redis/daemon/daemon_register.php root 26280 1 0 2015 ? 00:00:34 /usr/local/php/bin/php /var/www/html/redis/daemon/daemon_register.php ps -ef 查询并过滤进程id: leo@localhost$ ps -ef | grep php root 26278 1 0 2015 ? 00:00:31 /usr/local/php/bin/php /var/www/html

Linux内核参数修改方法

爱⌒轻易说出口 提交于 2020-03-17 17:01:38
由于Linux的内核参数信息都存在内存中,因此可以通过命令直接修改,并且修改后直接生效。但是,当系统重新启动后,原来设置的参数值就会丢失,而系统每次启动时都会自动去/etc/sysctl.conf文件中读取内核参数,因此将内核的参数配置写入这个文件中,是一个比较好的选择。   首先打开/etc/sysctl.conf文件,查看如下两行的设置值,这里是:   kernel.shmall = 2097152   kernel.shmmax = 4294967295 如果系统默认的配置比这里给出的值大,就不要修改原有配置。同时在/etc/sysctl.conf文件最后,添加以下内容:   fs.file-max = 6553600   kernel.shmmni = 4096   kernel.sem = 250 32000 100 128   net.ipv4.ip_local_port_range = 1024 65000   net.core.rmem_default = 4194304   net.core.rmem_max = 4194304   net.core.wmem_default = 262144   net.core.wmem_max = 262144   这里的“fs.file-max = 6553600”其实是由“fs.file-max = 512 *

【linux】虚拟机安装centos后ping ip地址出现错误:Network is unreachable

放肆的年华 提交于 2020-03-17 15:18:25
来源: https://my.oschina.net/stonezing/blog/515480 方案一: 进入/etc/sysconfig/network-scripts/ 查看这下面的文件 每个人的这个文件有所不一样,但前辍是一样的,vi ifcfg-ens33 将ONBOOT=no 改成ONBOOT= yes 重启服务service network restart 方案二: ifconfig 查看自己网卡的名称,一般是第一个 如:eth0 sudo ifup eth0 开启网卡 其实方案一修改的目的也是为了开启网卡。 开启关闭网卡的指令: ifup 网卡名 ifdown 网卡名 上面方案一文件内容含义为: 根据文件ifcfg-eth0打开命令及各项信息如下: [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #网卡设备名称 ONBOOT=yes #启动时是否激活 yes | no BOOTPROTO=static #协议类型 dhcp bootp none IPADDR=192.168.1.90 #网络IP地址 NETMASK=255.255.255.0 #网络子网地址 GATEWAY=192.168.1.1 #网关地址 BROADCAST=192.168.1.255

linux安装java步骤

╄→尐↘猪︶ㄣ 提交于 2020-03-17 14:56:03
linux安装java步骤 方式一:yum方式下载安装 1、查找java相关的列表 yum -y list java* 或者 yum search jdk 2、安装jdk yum install java-1.8.0-openjdk.x86_64 3、完成安装后验证 java -version 4、通过yum安装的默认路径为: /usr/lib/jvm 5、 将jdk的安装路径加入到JAVA_HOME vi /etc/profile 在文件最后加入: #set java environment JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64 PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME CLASSPATH PATH 修改/etc/profile之后让其生效 . /etc/profile (注意 . 之后应有一个空格) 方式二、官网下载jdk,ftp上传服务器解压安装 1、进入 Oracle 官方网站 下载合适的 JDK 版本,准备安装。 注意:这里需要下载 Linux 版本。这里以jdk-8u151-linux-x64.tar.gz为例,你下载的文件可能不是这个版本,这没关系

Linux nginx安装

[亡魂溺海] 提交于 2020-03-17 14:43:23
某厂面试归来,发现自己落伍了!>>> 一. centos 1. 将nginx放到yum repro库中 [root @localhost ~]# rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 2. 使用yum安装ngnix [root @localhost ~]# yum install nginx -y 3. 设置开机启动 systemctl enable nginx 来源: oschina 链接: https://my.oschina.net/u/2919251/blog/1627584

Linux运维学习——DAY10

一笑奈何 提交于 2020-03-17 12:54:31
某厂面试归来,发现自己落伍了!>>> 网络配置及SSH服务 一、网卡配置 网卡配置有4种模式: 修改配置文件(/etc/sysconfig/network-scripts/ifcfg-eno16777728) nmtui (网络配置工具) nm-connection-editor(图形化配置工具) Network settings(系统网卡配置工具) 1.网卡配置文件 #HWADDR=00:0C:29:AA:6C:F7 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME=eno16777728 UUID=fb4facce-da92-43ad-aa33-74c08ee4b861 ONBOOT=yes #DNS1=192.168.241.1 DNS1=192.168.241.31 IPADDR0=192.168.241.31 PREFIX0=24 GATEWAY0=192.168.241.2 IPV6_PEERDNS=yes IPV6_PEERROUTES=yes BOOTPROTO参数有3种。none:表示默认; static:表示静态地址;dhcp

linux系统用户常用操作

白昼怎懂夜的黑 提交于 2020-03-17 12:13:16
linux系统是多用户系统,它可以让不同的用户使用不一样的权限以保证系统的安全性。 linux系统中用户的分类 1.超级用户 它是系统中权限最高的用户,root用户,UID是0。 2.普通用户 普通用户就是很平常的用户,只能操作自己目录下的内容,权限又root用户来设定,可以直接创建或删除,能够直接登录系统UID是1000或1000+。 3.虚拟用户 虚拟用户是直接存在于系统本身,不能直接创建或删除,没有登录系统的能力,UID是1~999。 用户操作管理命令 1.查看用户信息 命令:id 查看当前用户信息 命令提示符后直接输入 id 即可 查看其他用户信息 命令提示符后输入 id 要查看的用户名 即可 2.切换用户模式 命令:su 切换到普通用户 命令提示符后直接输入 su 要切换的用户名 即可 切换到root用户 命令提示符后输入 su root 然后在提示下输入root密码就可以了 3.查看当前用户 命令:whoami 查看当前用户 命令提示符后直接输入 whoami 即可 4.创建用户 命令:useradd 创建新用户,用户名abc 命令提示符后直接输入 useradd abc 即可 创建一个新用户toome到指定目录hjk里 1 . 当指定目录存在的情况下 命令提示符后输入 useradd toome - d / home / hjk - d 这个参数表示为指定目录 2 .

linux内存管理(16) - volatility

主宰稳场 提交于 2020-03-17 11:59:41
了解volatility 1.Linux Memory Extractor 参考此链接   A Loadable Kernel Module (LKM) which allows for volatile memory acquisition from Linux and Linux-based devices, such as Android. This makes LiME unique as it is the first tool that allows for full memory captures on Android devices. It also minimizes its interaction between user and kernel space processes during acquisition, which allows it to produce memory captures that are more forensically sound than those of other tools designed for Linux memory acquisition. 调试步骤: ~/Documents/work/code/LiME/src$ make make -C /lib/modules/4.19.37/build M="/home

Linux常用命令(二)

╄→尐↘猪︶ㄣ 提交于 2020-03-17 10:56:14
Linux常用命令 netstat netstat命令用于显示网络状态 动作说明: r :显示 路由表 内容 i :显示 网络接口 及统计信息 g :显示 多播组 信息 s :按网络协议显示统计信息。默认情况下,显示TCP、UDP、ICMP和IP协议的统计信息。 n :显示活动中的TCP连接,但主机地址和端口号以数字形式表示,不会尝试确定实际主机名 p :显示哪些进程正在使用哪些网络接口 l :显示监听服务器socket a :显示所有socket(默认为连接中的socket) 显示所有连接中的TCP连接,进程所使用的网络接口情况 netstat -nap ps ps命令用于显示当前进程 (process) 的状态 动作说明: w : 显示加宽可以显示较多的资讯 e : 列出所有的进程 A : 列出所有的进程,同 -e f : 显示程序间的关系 au : 显示较详细的资讯 aux : 显示所有包含其他使用者的进程 ps -ef zgrep & zcat zgrep 命令为避免解压文件,来查找文件里符合条件的字符串 zgrep 及 zcat 命令均为便于对压缩文件进行操作,原命令的使用详解见 Linux常用命令 模糊搜索(查询文件中包含’abc’的记录) zgrep 'abc' < *.tar.gz/*.gz > 常用场景 查看TCP连接的进程 查看连接远程ip端口的进程