Welcome 微信登录

首页 / 操作系统 / Linux

Linux中获取某个进程的系统调用以及参数(故障排查案例)

Linux中获取某个进程的系统调用以及参数(故障排查案例)

当一个程序发生故障时,有时候想通过了解该进程正在执行的系统调用来排查问题。通常可以用 strace 来跟踪。但是当进程已经处于 D 状态(uninterruptible sleep)时,strace 也帮不上忙。这时候可以通过复制代码 代码如下:cat /proc/<PID>/syscall来获取当前的系统调用以及参数。这里用最近排查的一个问题为例。碰到的问题是,发现一台服务器在执行 pvcreate 创建物理卷的时候卡死,进程状态为 D复制代...
一个Linux系统安全设置的Shell脚本的分享(适用CentOS)

一个Linux系统安全设置的Shell脚本的分享(适用CentOS)

我们将常用的系统安全配置制作为一个shell脚本,只需要在服务器上运行这个shell脚本即可完成安全设置。linux的系统安全设 置Shell脚本是第二次更新,已经大量应用在某大型媒体网站体系中,加入了之前没有想到的一些安全设置。使用方法将其复制,保存为一个shell文件, 比如security.sh.将其上传到Linux服务器上,执行sh security.sh,就可以使用该脚本了!复制代码 代码如下:#!/bin/sh# desc: setup lin...
简单的Linux查找后门思路和shell脚本分享

简单的Linux查找后门思路和shell脚本分享

每个进程都会有一个PID,而每一个PID都会在/proc目录下有一个相应的目录,这是linux(当前内核2.6)系统的实现。一般后门程序,在ps等进程查看工具里找不到,因为这些常用工具甚至系统库在系统被入侵之后基本上已经被动过手脚(网上流传着大量的rootkit。假如是内核级的木马,那么该方法就无效了)。因为修改系统内核相对复杂(假如内核被修改过,或者是内核级的木马,就更难发现了),所以在/proc下,基本上还都可以找到木马的痕迹。思路:在/proc中存在...
Shell脚本解压rpm软件包

Shell脚本解压rpm软件包

有时候需要从RPM包中提取文件,而又没有安装且不想安装 rpm相关的库和程序,此时下面这个小小的绿色脚本可以帮你达成愿望。注:1. 此脚本来源于 Internet,具体位置不记得了,相对于源脚本做了一点点小的改动2. 系统需要安装cpio程序(一般的系统都带)#!/bin/sh#*************************************************************# Author: Unknown, Modified b...
shell脚本中常见的一些特殊符号和作用详解

shell脚本中常见的一些特殊符号和作用详解

在编写Shell脚本时,我们需要会用到各种各样的特殊符号,通过这些特殊符号可以使我们编写的代码更加简洁和高效,这里给大家汇总下:1、{} 大括号:用法一:通配符扩展eg: ls my_{finger,toe}s这条命令相当于如下命令的组合:ls my_fingers my_toeseg: mkdir {userA,userB,userC}-{home,bin,data}我们将得到 userA-home, userA-bin, userA-data, use...
Linux Shell中的特殊符号和含义简明总结(包含了绝大部份)

Linux Shell中的特殊符号和含义简明总结(包含了绝大部份)

在Linux Shell中有很多的特殊符号,这对于我们写Shell脚本时要特别留意:一方面要知道这些特殊符号的用法,这些符号用好了可以达到事半功倍的效果;但另一方面要避免这些特殊符号的过度使用而导致脚本难以调试、难以阅读。这些特殊符号罗列出来大致如下:复制代码 代码如下:# ; ;; . , / / ‘string"| ! $ ${} $? $$ $* “string”* ** ? : ^ $# $@ `command`{} [] [[]]...
Shell脚本中单引号(‘)和双引号(“)的使用区别

Shell脚本中单引号(‘)和双引号(“)的使用区别

在Linux操作系统上编写Shell脚本时候,我们是在变量的前面使用$符号来获取该变量的值,通常在脚本中使用”$param”这种带双引号的格式,但也有出现使用"$param"这种带引号的使用的场景,首先大家看一段例子:复制代码 代码如下:[root@linux ~]# name=TekTea[root@linux ~]# echo $nameTekTea[root@linux ~]# sayhello=”Hello $name”[root@linux ~]...
Shell中实现飞行文字效果

Shell中实现飞行文字效果

大家肯定见过WEB页面上飞行字的效果,但是在Linux系统中,特别是bash命令行模式下,如何实现echo出来的字符串以飞行的特效展现出来呢?这个特效不见得实用,但偶尔拿来自娱自乐或炫耀一番倒是个不错的方法,呵呵,下面以一段Shell Script代码来给大家讲解如何实现……#!/bin/bash[ -z $1 ] && echo "Input is invalid! " && exit 1txt=($(cat $1|sed "s/ +/_/g"))lin...
Shell脚本中实现把输入的密码转换为*(星号)的方法

Shell脚本中实现把输入的密码转换为*(星号)的方法

如果你需要写一段与用户交互,且需要输入一些敏感信息的(例如:用户密码、License等),那么直接用printf+read的方式,就会把用户输入的信息显示在屏幕了,这是不符合信息安全的,而且对客户体验来说也显得不够专业,所以就需要将用户输入的密码转换为*,样式如下:please input your passwd:1234修改为:please input your passwd:****那么具体如何实现呢,请往下看……#!/bin/shgetchar() ...
Shell脚本中计算字符串长度的5种方法

Shell脚本中计算字符串长度的5种方法

有时在Linux操作系统中需要计算某个字符串的长度,通过查询资料整理了下目前Shell中获取字符串的长度的多种方法,在这里分享给大家,方法如下:方法1: 使用wc -L命令wc -L可以获取到当前行的长度,因此对于单独行的字符串可以用这个简单的方法获取,另外wc -l则是获取当前字符串内容的行数。复制代码 代码如下:echo "abc" |wc -L方法2: expr length string使用expr length可以获取string的长度方法3: ...
Shell脚本实现把进程负载均衡到多核CPU中

Shell脚本实现把进程负载均衡到多核CPU中

有时候,由于架构设计或其他业务本身特点原因,导致有些应用使用CPU很不均衡,所以业务处理集中在一个CPU上,而其它CPU闲得在睡觉。这里有个简单的优化方案实现将各个线程绑定到到多个CPU,从而实现性能的提高。虽然CPU是一个不错的思路,但是不是杀手锏,其性能能提高多少依赖于各个线程的性能分布是否均匀;所以最好的办法是优化你的程序架构。在这里分享一个Shell脚本(脚本名为bindcpu2p.sh),通过该脚本可将该进程均匀负载到各个CPU上。复制代码 代码...
5个实用的shell脚本面试题和答案

5个实用的shell脚本面试题和答案

这边提到的5个面试问题,延续之前的有关Linux面试问题和答案。如果你是Tecmint的读者,你的支持我非常感谢。1. 写一个shell脚本来得到当前的日期,时间,用户名和当前工作目录。答案 : 输出用户名,当前日期和时间,以及当前工作目录的命令就是logname,date,who i am和pwd。现在,创建一个名为userstats.sh文件,将下面的代码添加到它。复制代码 代码如下:#!/bin/bash echo "Hello, $LOGNAME"...
使用bash shell删除目录中的特定文件的3种方法

使用bash shell删除目录中的特定文件的3种方法

我是一名Linux新用户。现在我需要清理一个下载目录中的文件,其实我就是想从~/Download/文件夹删去除了以下格式的文件外所以其它文件:1.*.iso - 所有的iso格式的文件。2.*.zip - 所有zip格式的文件。我如何在一个基于Linux,OS X 或者 Unix-like 系统上的bash shell中删除特定的文件呢?Bash shell 支持丰富的文件模式匹配符例如:1.* - 匹配所有的文件。2.? - 匹配文件名中的单个字母。3....
Shell多线程操作及线程数控制实例

Shell多线程操作及线程数控制实例

前言在业务开发过程中,经常会在后台写一些shell脚本处理数据,但估计很多人不知道shell脚本也可以支持多线程,而且非常简单。本篇文章主要就是介绍shell实现多进程以及进程数量控制。需求为了更好的说明问题,我们结合例子讲解,假设需求就是扫描url.txt文件,然后判断里面的URL是否失效。url.txt文件的内容是一行一个URL,如:复制代码 代码如下:http://www.baidu.comhttp://www.google.comhttp://ww...
<< 151 152 153 154 155 156 157 158 159 160 >>