前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

每天2分钟学习unix/linux系统shell编程(七)ps,sleep,kill,export

qiguaw 2025-01-07 15:09:25 资源文章 15 ℃ 0 评论

内容提要,学习一下以命令:ps,sleep,kill,export和主要目录讲解。下面开始

一、shell命令:ps

  • 命令:ps
  • 作用:查看进程信息
  • 选项:

-u 详细方式显示当前终端下的进程

-e 列出当前正在运行的所有进程

-a 显示所有进程包括其它用户

-x 显示没有控制终端的进程

-f 全格式显示

  • 参数:无

使用示例:

root@debian:~/test# ps -auxf |grep VBoxS
root         918  0.0  0.0 424932  3212 ?        Sl   12:26   0:06 /usr/sbin/VBoxService --pidfile /var/run/vboxadd-service.sh
root        3946  0.0  0.0   6408   720 pts/0    S+   21:21   0:00              \_ grep VBoxS
root@debian:~/test# 

说明:配置管道|和grep搜索感兴趣的进程

二、shell命令:sleep

  • 命令:sleep
  • 作用: 只看英文名子就知道是睡眠的,在shell脚本中用得多
  • 选项:无
  • 参数:跟一个正整数,单位秒,表示睡眠这么多秒。

三、shell命令:kill

  • 命令:kill
  • 作用: 向某进程发射信号
  • 选项:-信号编号 或者 -信号名字
  • 参数:进程PID可以通过ps查到
root@debian:~/test# kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX	
root@debian:~/test# sleep 10000 &
[1] 3949
root@debian:~/test# 
root@debian:~/test# ps ax|grep slee
   3949 pts/0    S      0:00 sleep 10000
   3951 pts/0    S+     0:00 grep slee
root@debian:~/test# kill -9 3949
root@debian:~/test# 
[1]+  已杀死               sleep 10000
root@debian:~/test# 
root@debian:~/test# sleep 10000 &
[1] 3954
root@debian:~/test# kill -SIGKILL 3954
root@debian:~/test# 
[1]+  已杀死               sleep 10000
root@debian:~/test# 

下面简单介绍几个常见的信号:



2) SIGINT

程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出,用于通知前台进程组终止进程。

3) SIGQUIT

和SIGINT类似, 但由QUIT字符(通常是Ctrl-\)来控制. 进程在因收到SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信号。

6) SIGABRT

程序运行错误有可能会调用abort函数生成的信号。

9) SIGKILL

用来立即结束程序的运行. 本信号不能被阻塞、处理和忽略。如果管理员发现某个进程终止不了,可尝试发送这个信号。

10) SIGUSR1

留给用户使用的信号

11) SIGSEGV

试图访问未分配给自己的内存, 或试图往没有写权限的内存地址写数据.

15) SIGTERM

程序结束(terminate)信号, 与SIGKILL不同的是该信号可以被阻塞和处理。通常用来要求程序自己正常退出,shell命令kill缺省产生这个信号。如果进程终止不了,我们才会尝试SIGKILL。

另外在终端下执行man 7 signal可以看到信号的解释。如下图:

四、shell命令:export

  • 命令:export
  • 作用: 查看或者设置环境变量,只在当前终端生效
  • 选项:无
  • 参数:环境变量名=值

使用示例:

root@debian:~/test# export V1=test
root@debian:~/test# echo $V1
test
root@debian:~/test# export
declare -x OLDPWD="/home/lintl"
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
declare -x PWD="/home/lintl/test"
declare -x USER="lintl"
declare -x V1="test"
declare -x VTE_VERSION="6203"
root@debian:~/test# 

五、linux系统下主要目录介绍

/boot 一般包含系统启动的相关文件

/tmp 系统启动时候产生的临时文件或者运行过程中产生的临时文件

/mnt 挂载在mount其它系统子目录

/lib 系统启动运行时使用的库文件

/proc 关于当前系统状态,包括正在运行的进程内存的使用,硬件的状态,注意这个文件夹在磁盘上是不存在的。在内存中虚拟出来的。

/dev 保存当前系统上的所有设备文件

/var 保存被系统修改的数据包括其它进程和模块的数据,或者日志数据。

/root root用户主目录

/home 一般用户主目录

/etc 系统的配置文件

/bin 可执行文件

/sbin 存放系统的可执行程序

这一期先学到这里。下节进入真正的shel脚本的编程。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表