dong-frank的博客

Linux系统基础 2024.7.27

字数统计: 799阅读时长: 3 min
2024/07/27

如何运行多个进程

Linux系统的信号

sleep命令
sleep 10睡10s
c-c中止命令的执行
c-c -> SIGINT信号 停止程序
kill -l 查看有多少信号
man 7 signal 查看信号的帮助手册
SIGQUIT c-\发送 Quit from keyboard 会产生一个核心转储文件
SIGTERM kill 进程号发送 ps查询进程号
SIGHUP 终止终端运行的所有程序(一般是退出终端后发送)
SIGSTOP 暂停程序运行
SIGCONT 继续运行暂停的程序
SIGKILL Kill signal 不能捕捉的信号,杀死一个程序且不能被忽视

如何让程序在后台运行

系统启动的服务一般叫做守护进程
守护进程和终端是分离的

终端运行的程序也可以在后台运行
c-z 程序放入后台但暂停执行
sleep 1000 & 程序放入后台执行
jobs 查看后台有几个程序
bg %1 让一号任务在后台继续运行 kill -CONT %1
kill -STOP %1让一号任务在后台暂停
fg %1 把一号人物从后台放到前台运行
在后台运行的程序输出还会输出到前台 一般都会将输出重定向 /dev/null

nohup sleep 1000 & 让任务在SIGHUP信号后保持运行 退出终端后还在运行
kill -KILL %1 杀死

终端多路复用器 tmux

快捷键一般以ctrl-b开头
ctrl-b d 退出tmux回到shell
tmux a 重新回到刚才tmux状态

tmux的三个重要概念

  1. 会话 每次打开tmux会启动一个会话
    1. tmux new -s test 打开一个新的名为test的会话
    2. tmux ls 查看会话的列表
    3. tmux a -s test
  2. 窗口 标签
    1. ctrl-b c打开新的窗口
    2. ctrl-b ,为窗口更名
    3. ctrl-b p/n窗口间的切换
  3. 面板 多个标签可以打开多个面板
    1. ctrl-b "水平划分窗口
    2. ctrl-b %垂直划分
    3. ctrl-b 方向键窗口间的切换
    4. ctrl-b 空格调整布局
    5. ctrl-b z进行窗口的缩放

命令的别名

alias创建常用命令的缩写
alias ll="ls -lh"
~/.bashrc进行别名的设置,每次登入都会生效

使用别名重新定义一些命令的默认行为
alias mv="mv -i"
alias mkdir="mkdir -p"
alias rm="rm -i"
删除文件一般 ls * rm !$

配置文件

~/.bashrc
~/.gitconfig
~/.vimrc

管理配置文件

  • 将所有配置文件集中放置到一个目录下
  • 并使用版本控制系统进行管理
  • 然后通过脚本将其符号链接到需要的地方

远程服务器

  • ssh不用密码连接远程服务器

    • ssh test@test.com
    • ssh test@test.com ls直接远程执行命令
    • ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_ed25519 -o表示向前兼容 -a 100 表示迭代100次 -t ed25519 算法
    • 输入私钥的密码 非对称加密
    • 将公钥上传至服务器可以实现不用密码连接远程服务器
  • 使用ssh复制文件

    • cat localfile | ssh remote_server tee serverfile
    • scp path/to/local_file remote_host:path/to/remote_file
    • rsync进行备份
      • rsync -avP . remote_server:test
  • ssh配置文件

    • 为远程服务器起别名实现快速登录
CATALOG
  1. 1. 如何运行多个进程
    1. 1.1. Linux系统的信号
    2. 1.2. 如何让程序在后台运行
    3. 1.3. 终端多路复用器 tmux
    4. 1.4. 命令的别名
    5. 1.5. 配置文件
    6. 1.6. 远程服务器