linux命令
1.1 基础命令
- 程序挂到后台运行
1 | nohup python3 scala.py & //不指定日志输出文件,程序后台运行,并且日志默认输出到nohup.out中 |
- 进程查询
1 | ps ux //查看所有进程 |
- 在命令行中将一个命令的结果传给另一个命令当参数使用‘$(command)’方法
1 | spark-submit .......... arg[0] arg[1] //原命令语句 |
1.2 进程管理(pgrep,systemd,nohup+&,screen的区别)
1. pgrep
pgrep是首字母缩略词,代表“Process-ID Global Regular Expressions Print”。
pgrep查看当前正在运行的进程,并将与选择条件匹配的进程ID列出到stdout(屏幕)。当你想要某个进程的PID时,pgrep很方便。
例如,如果我只想知道我的nginx进程的进程ID,使用pgrep nginx将返回进程ID 值,如:
1 | [root@vm1 ~]# pgrep nginx |
- systemd
systemd即为system daemon,是linux下的一种init软件,由Lennart Poettering带头开发,并在LGPL2.1及其后续版本许可证下开源发布,开发目标是提供更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销的效果,最终代替常用的System V与BSD风格init程序。
与多数发行版使用的System V风格init相比,systemd采用了以下新技术: (1) 采用Socket激活式与总线激活式服务,以提高相互依赖的各服务的并行运行性能; (2) 用Cgroups代替PID来追踪进程,以此即使是两次fork之后生成的守护进程也不会脱离systemd的控制。
- nohup+&
&是指在后台运行一般在执行命令后,都会显式的在前台执行,当Ctrl+C后进程回宕掉,但是 在命令后加&,即使Ctrl+C,程序还在进行,但是,当关闭Xshell后,程序就会宕掉。
nohup是指忽略SiGHUP信号,当关掉Xshell后,程序会一直存在,但是当执行Ctrl+C后程序还是会宕掉。
- screen
Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。
只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令 行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行
- 其他:grep
grep是“Global Regular Expressions Print”的首字母缩写词,意为全局正则表达式打印。
grep是一个逐行扫描指定文件或文件的程序,返回包含模式的行。模式是一种表达式,它通过将字符解释为元字符来指定一组字符串。例如,星号元字符(*)被解释为“前面元素的零个或多个”。这使用户能够在grep命令中键入一系列短字符和元字符,以使计算机向我们显示哪些文件匹配的行。
一些常见的标志如下:
1 | -c 用于计算成功匹配的数量而不打印实际匹配 |