目录
通过进程名查看其占用端口
1、先查看进程pid
ps -ef | grep 进程名
2、通过pid查看占用端口
netstat -nap | grep 进程pid
查看进程
ps 参数
-A
-ef
-aux //显示所有状态
查找nginx相关进程:
ps -ef |grep nginx
关闭进程
杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志。
首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:
kill -pid
注释:标准的kill命令通常都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。
确定要杀死进程的PID或PPID
ps -ef | grep httpd
- 以优雅的方式结束进程
kill -l PID
-l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功–或许仍然需要先手工杀死子进程,然后再杀死父进程。
- TERM信号
给父进程发送一个TERM信号,试图杀死它和它的子进程。
kill -TERM PPID
- killall命令
killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。
killall httpd
- 停止和重启进程
有时候只想简单的停止和重启进程。如下:
kill -HUP PID
该命令让Linux和缓的执行进程关闭,然后立即重启。在配置应用程序的时候,这个命令很方便,在对配置文件修改后需要重启进程时就可以执行此命令。
- 强杀
kill -9 PID
- 同样
kill -s SIGKILL
这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。
端口
netstat命令参数:
-t : 指明显示TCP端口
-u : 指明显示UDP端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行DNS轮询,显示IP(可以加速操作)
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 80 //查看所有80端口使用情况·
netstat -an | grep 3306 //查看所有3306端口使用情况·
查看进程占用CPU、内存
ps auxw
重启主机
Linux 的五个重启命令
1、shutdown
2、poweroff
3、init
4、reboot
5、halt
查看和添加环境变量
Linux下查看和添加环境变量
编辑环境变量的配置文件:
vi /etc/profile
在文件中使用export PATH=/usr/bin:/usr/sbin:/bin:/sbin
添加环境变量。
结束后输入命令使得资源生效:
source /etc/profile
解压缩
zip命令
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
tar命令
解包:tar zxvf FileName.tar
打包:tar czvf FileName.tar DirName
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
文件操作
- 新建目录:
mkdir 文件夹
- 显示用户当前工作目录:
pwd
- 删除rm [fir] 文件或目录
参数说明:
-f:强制删除
-i:交互模式,在删除前询问用户是否操作
-r:递归删除,常用在目录的删除
- 复制CP
格式: CP [选项] 源文件或目录 目的文件或目录
选项说明:-b 同名,备分原来的文件
-f 强制覆盖同名文件
-r 按递归方式保留原目录结构复制文件
cp -Rf /home/user1/* /root/temp/
将 /home/user1目录下的所有东西拷到/root/temp/下而不拷贝user1目录本身。
即格式为:cp -Rf 原路径/ 目的路径/
- 移动mv
mv ./WorkReport/web.xml ./WorkReport/WEB-INF/
注:移动/WorkReport/web.xml文件到/WorkReport/WEB-INF/
mv /data/new /data/old/
注:移动/data/new 到/data/old/文件夹下
注意点:移动文件夹的话就不要再加 / 了
如果是移动文件夹下的所有文件的话就可以文件夹后面跟上 /*
mv /data/new/* /data/old/
- 重命名
将目录A重命名为B
mv A B
Nginx
1.启动:
./nginx -c /usr/local/nginx/conf/nginx.conf
2.重启:
方法一:进入nginx可执行目录sbin下,输入命令./nginx -s reload
即可
方法二:查找当前nginx进程号,然后输入命令:kill -HUP 进程号
实现重启nginx服务
Jenkins 构建通过shell无法启动进程问题
原因:
Jenkins在构建结束后会把额外启动的进程杀死。 到这里知道原因了,那就看怎么解决了。
解决方案:
解决办法其实非常容易,只需要在执行 .sh 文件之前,加上 BUILD_ID=dontKillMe
后台运行java的jar包
//&代表在后台运行。
java -jar shareniu.jar &
//nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
nohup java -jar shareniu.jar &
//输出内容不打印到屏幕上,而是输出到out.file文件
nohup java -jar shareniu.jar >out.file &
Zookeeper
//启动服务
bin# ./zkServer.sh start
//配置文件目录
/home/apache-zookeeper-3.5.5/bin/../conf/zoo.cfg
切换用户
su username
Elasticsearch
创建ES用户和组(创建elasticsearch用户组及es用户)
groupadd elasticsearch
useradd es -g elasticsearch
chown -R es /usr/local/elasticsearch-6.2.3 该命令是更改该文件夹下所属的用户组的权限
创建ES数据文件和日志文件,直接在root用户根目录一下创建就可以了(这个要和下一步配置的里面的路径相同)
mkdir /path
chown -R es /path/
su es 切换用户
mkdir -p to/data
mkdir -p to/logs
启动
首先切换到es用户su es
进入到bin 目录下执行 ./elasticsearch
命令就可以了
执行 ./elasticesrarch -d
是后台运行
查找ES进程
ps -ef | grep elastic
杀掉ES进程
kill -9 2382(进程号)
重启ES
sh elasticsearch -d
Elastichsearch-head
启动:
进入elastichsearch-head目录
>nohup grunt server &
终端控制键
Ctrl+C
发送Terminal到当前的程序,强制结束当前的进程
Ctrl+Z
挂起,fg回车后就可以回来,当然可以挂起好多进程到后台,然后fg 加编号就能把挂起的进程返回到前台。配合bg和fg命令进行前后台切换
MongoDB
以配置文件启动:
./mongod -f ./ mongodb.conf
mongodb.conf
dbpath=/usr/local/mongodb/data/
logpath=/usr/local/mongodb/logs/mongodb.log
port=27017
auth=true
bind_ip=0.0.0.0,127.0.0.0
logappend=1
#开启mongodb数据库副本集
plogSize=10000
replSet=myDevReplSet
常见命令行操作:
mongodb命令行操作
shell连接:./mongo ip:port/dbname -u 用户名 -p 密码
启动副本集:./mongod --replSet myrs --dbpath /usr/local/mongodb/data/27018/ --port 27018 --bind_ip 0.0.0.0 --logpath /usr/local/mongodb/logs/27018/27018.log --fork --keyFile /usr/local/mongodb/bin/keyFile
连接副本集:
任意成员,如 27017 端口:mongo --port 27019
初始化副本集:
rs.initiate()
查看副本集配置信息:
rs.conf()
配置延迟节点:该节点必须被隐藏,并且不能成为主节点。适用范围:处理一定时间段内的误操作(个人感觉意义不大)
cfg=rs.conf()
cfg.members[1].slaveDelay=60 ##延迟60秒
cfg.members[1].priority=0
cfg.members[1].hidden=true
rs.reconfig(cfg)
rs.conf()
副本集安全认证:
使用keyFile文件
MongoDB复制集安全认证
>use admin
>db.auth("user","pwd")
mongo-connector 连接mongodb与elasticsearch
./mongo-connector -m mongodb://user:pwd@localhost:port -t localhost:9200 -d elastic_doc_manager
看磁盘内存
查看磁盘Z:
df -k:以KB为单位显示磁盘使用量和占用率
df -m:以Mb为单位显示磁盘使用量和占用率
查看内存:
top
free
cat /proc/meminfo
pmap
free -h
Redis
1.启动服务:
./redis-server /usr/local/redis-3.2.8/conf/redis.conf
2.客户端命令:
连接
redis-cli -h host -p 6379-a password
清空所有数据库数据
flushall
Tomcat
启动服务:
./startup.sh
进程后台运行
nohup ... &
-daemon
来源:https://blog.csdn.net/weixin_41754415/article/details/95249833