获取项目进程id
方法1:使用 pgrep 结合 ps 命令pgrep
是一个专门用来查找进程的命令,它只会返回匹配的进程ID (PID)。然后可以使用 ps 命令来显示这些进程的详细信息。
pgrep -f 项目名称 | xargs -r ps -fp
方法2:使用 grep 的排除功能
使用 grep 的 --invert-match (-v) 选项排除 grep 本身的行,同时可以结合 grep 的 -w 选项来精确匹配。
ps -ef | grep 项目名称 | grep -v grep
后台运行程序
输出指定日志
在 Linux 后台运行程序时,可以将程序的输出信息按照日期记录到日志文件中。你可以使用 nohup、screen 或 tmux 等工具来后台运行程序,并使用 tee 和 date 命令将输出重定向到日志文件中。以下是一个示例:
假设你要运行的程序是 my_program,并且你希望将其输出按照日期记录到日志文件中。
使用 nohup 和 tee
创建一个脚本文件,比如 run_with_logging.sh,内容如下:
#!/bin/bash
DATE=$(date '+%Y-%m-%d')
LOGFILE="program_output_$DATE.log"
nohup ./my_program 2>&1 | tee -a $LOGFILE &
给予脚本执行权限:
chmod +x run_with_logging.sh
运行脚本:
./run_with_logging.sh
使用 screen
启动一个 screen 会话:
screen -S my_program_session
在 screen 会话中运行程序,并重定向输出到日志文件:
DATE=$(date '+%Y-%m-%d')
LOGFILE="program_output_$DATE.log"
./my_program 2>&1 | tee -a $LOGFILE
按 Ctrl+A 然后按 D 键将 screen 会话分离,使其在后台运行。
你可以随时通过以下命令重新连接到 screen 会话:
screen -r my_program_session
查询服务器CPU数量和内存
查询CPU核心信息
查看CPU信息:
#查询CPU信息
lscpu
#查询运行内存信息
free -h
cat /proc/cpuinfo
这个命令会输出关于CPU的详细信息,包括每个核心的详细参数。
统计CPU核心数量:
lscpu | grep "^CPU(s):"
这个命令会显示CPU的核心数量。
另一个查看CPU核心数量的方法:
nproc
这个命令会直接输出当前系统中的可用CPU核心数量。
查询内存信息
查看内存使用情况:
free -h
这个命令会以人类可读的格式显示内存的总量、已用、空闲和缓存的内存信息。
查看详细的内存信息:
cat /proc/meminfo
这个命令会输出系统内存的详细信息。
使用 top 或 htop 命令:
top
或
htop
这两个命令会显示实时的系统资源使用情况,包括CPU和内存使用情况。
linux进行ip限制访问
# 限定 IP 192.168.1.100 可以访问 7000 端口
iptables -A INPUT -p tcp --dport 7000 -s 192.168.1.100 -j ACCEPT
iptables -A INPUT -p tcp --dport 7000 -j DROP
第一条规则:允许 192.168.1.100 访问 TCP 7000 端口。
第二条规则:拒绝所有其他 IP 对 TCP 7000 端口的访问。
检查规则
iptables -L -n -v
#输出如下============
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 192.168.1.100 0.0.0.0/0 tcp dpt:7000
DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:7000
使用完成后请保存规则
取消规则,(当然重启后会自动取消)
#查询规则
iptables -L -n --line-numbers
#输出
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- 192.168.1.100 0.0.0.0/0 tcp dpt:7000
2 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:7000
删除规则
iptables -D INPUT 1
iptables -D INPUT 2
#验证
iptables -L -n --line-numbers
保存更改(防止重启后恢复)
删除规则后,需保存更改:
Debian/Ubuntu
iptables-save > /etc/iptables/rules.v4
CentOS/RHEL
service iptables save
手动加载(重启后生效)
iptables-restore < /etc/iptables/rules.v4