获取项目进程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