360安全卫士进程防护导致git-bash系列启动和回车非常慢

解决方法

打开360安全卫士->电脑体检->左下角防护中心->6层系统防护查看->进程防护”关闭”

故障现象

用任何方式开启git-bash都需要等待1秒gitb-bash的黑框才出现, 并且需要等待大约5秒bash的输入界面才出现.

同时使用Cygwin和MinGw测试后结果一样.

其它解决方案

在Windows 7 到x64,git/bash极其缓慢

有趣的是, 在上面这个链接里的其中一条解决方案可以改善(仅改善, 并未完全解决)这个卡顿问题
那就是修改git-bash的profile文件部分

  1. 进入git安装目录的etc目录中
  2. 找到profile文件
  3. 在最后加入以下代码
1
export PS1=’$’

这种方法会导致bash里没有任何有好提示, 比如路径提示, 机器名, 用户名提示.

而且这个办法不会解决启动git-bash慢的问题, 仅仅解决启动git-bash后每次按回车的反应比较快.

其实跟踪分析后, 可以把表面导致慢的原因定位在以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
for postinst in $(export LC_COLLATE=C; echo /etc/post-install/*.post); do
[ -e “${postinst}” ] && . “${postinst}”
done

if [ ! “x${BASH_VERSION}” = “x” ]; then
HOSTNAME=”$(/usr/bin/hostname)”
# 此处是表面导致启动卡顿的原因
profile_d sh
[ -f “/etc/bash.bashrc” ] && . “/etc/bash.bashrc”
elif [ ! “x${KSH_VERSION}” = “x” ]; then
typeset -l HOSTNAME=”$(/usr/bin/hostname)”
# 此处是表面导致启动卡顿的原因
profile_d sh
PS1=$(print ‘\033]0;${PWD}\n\033[32m${USER}@${HOSTNAME} \033[33m${PWD/${HOME}/~}\033[0m\n$ ‘)
elif [ ! “x${ZSH_VERSION}” = “x” ]; then
HOSTNAME=”$(/usr/bin/hostname)”
# 此处是表面导致启动卡顿的原因
profile_d sh
profile_d zsh
PS1='(%n@%m)[%h] %~ %% ‘
elif [ ! “x${POSH_VERSION}” = “x” ]; then
HOSTNAME=”$(/usr/bin/hostname)”
PS1=”$ “
else
HOSTNAME=”$(/usr/bin/hostname)”
profile_d sh
PS1=”$ “
fi

也就是说360安全卫士的进程保护功能会对启动sh.exe这个操作做拦截并进行行为分析,

然后干扰到git-bash的正常启动速度.

为了证实这个猜测, 可以直接去双击启动git-bash的以下路径

bin\sh.exe

可以看到弹出黑框并显示输入界面的速度非常慢.

然后安装上面的方法禁止360安全卫士的进程保护后, 再双击运行”bin\sh.exe”将会变的很快.

环境信息

360安全卫士版本: 11.5.0.1004
系统版本: Windows 10
git版本: 2.16.2.windows.1

Windows上自动化开启软件

可以使用Pyautoit 来模拟点击或者按键。Pygui也快。测试pyautoit比较好。但是实际只是封装了autoit的dll。建议直接用autoit写,类VB风格编程。

查看Linux内核版本

一、查看Linux内核版本命令(两种方法):

1、cat /proc/version

[root@S-CentOS home]# cat /proc/version

Linux version 2.6.32-431.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Fri Nov 22 03:15:09 UTC 2013

2、uname -a

[root@S-CentOS home]# uname -a

Linux S-CentOS 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

二、查看Linux系统版本的命令(3种方法):

1、lsb_release -a,即可列出所有版本信息:

[root@S-CentOS ~]# lsb_release -a

LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch

Distributor ID: CentOS

Description: CentOS release 6.5 (Final)

Release: 6.5

Codename: Final

这个命令适用于所有的Linux发行版,包括RedHat、SUSE、Debian…等发行版。

2、cat /etc/redhat-release,这种方法只适合Redhat系的Linux:

 [root@S-CentOS home]# cat /etc/redhat-release

CentOS release 6.5 (Final)

3、cat /etc/issue,此命令也适用于所有的Linux发行版。

[root@S-CentOS home]# cat /etc/issue

CentOS release 6.5 (Final)

Kernel \r on an \m

转自https://www.cnblogs.com/ywl925/p/11083351.html

Linux锁定文件chattr锁定防止被更改

 常见命令参数

123456789101112A:即Atime,告诉系统不要修改对这个文件的最后访问时间。S:即Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。b:不更新文件或目录的最后存取时间。c:将文件或目录压缩后存放。d:当dump程序执行时,该文件或目录不会被dump备份。D:检查压缩文件中的错误。i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。s:彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在区域。u:当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件,用来防止意外删除文件或目录。t:文件系统支持尾部合并(tail-merging)。X:可以直接访问压缩文件的内容。

    常用的命令展示


  chatter: 锁定文件,不能删除,不能更改
        +a:  只能给文件添加内容,但是删除不了,
              chattr +a  /etc/passwd
        -d:      不可删除
        加锁:chattr +i  /etc/passwd       文件不能删除,不能更改,不能移动
        查看加锁: lsattr /etc/passwd      文件加了一个参数 i 表示锁定
        解锁:chattr -i /home/omd/h.txt    – 表示解除
        隐藏chattr命令:

12345which chattrmv /usr/bin/chattr  /opt/ftl/cd /opt/ftl/ mv chattr h    -->更改命令,使用别名h隐藏身份/opt/ftl/h +i /home/omd/h.txt   -->利用h 行驶chattr命令
1lsattr /home/omd/h.txt    -->查看加密信息

恢复隐藏命令

123mv h /usr/bin/chattrchattr -i /home/omd/h.txtlsattr /home/omd/h.txt

Linux文件系统只读Read-only file system

Linux文件系统只读Read-only file system

多数是机房停电/系统反复重启导致。

以下解决方法:

可能磁盘写保护。

第一步。     df -h  确定文件夹对应的磁盘。

第二步        mount    ro为只读,rw为可读可写

可以用mount命令看看ro的分区,如果发现有ro,就重新mount,如:
umount /dev/sda1
mount /dev/sda1 /boot
如果发现有提示“device is busy”。
fuser -m /boot 将会显示使用这个模块的pid
fuser -mk /boot 将会直接kill那个pid
然后重新mount即可。

当然也可以直接remount,命令为
[root@localhost ~]# mount -o rw,remount /boot

实测有效,转载来自CSDN:

https://blog.csdn.net/admin_xiaobinggan/article/details/52974070

另外,可参考:>>>>

昨天服务器突然断电,早上来了后解决了电源的问题,但是发现启动的时候不能进入linux了,提示输入ROOT密码或者按ctrl + d重启,进入后发现是只读模式,无法更改fstab这个文件。

最后在网上发现了一个很简单很简单的搞定的方法,那就是使用fsck这个命令

这个命令类似WINDOWS的CHKDSK这个工具,但功能更强大一些。

使用

fsck -y /dev/sda1

修复后重启,问题解决…………

https://blog.51cto.com/461205160/1722734