wenmo8 发布的文章

就是TEB::StackBase-TEB::StackLimit的值约为线程栈保留大小(VC++编译器默认的是1M),就可以判断栈 爆掉了

比如:

!teb
TEB at 01192000
    ExceptionList:        0120134c
    StackBase:            01300000
    StackLimit:           01201000
    SubSystemTib:         00000000
    FiberData:            00001e00
    ArbitraryUserPointer: 00000000
    Self:                 01192000
    EnvironmentPointer:   00000000
    ClientId:             00004b7c . 000059d4
    RpcHandle:            00000000
    Tls Storage:          1a17b928
    PEB Address:          0118f000
    LastErrorValue:       0
    LastStatusValue:      c0000034
    Count Owned Locks:    0
    HardErrorMode:        0

?StackBase-StackLimit=01300000-01201000=1044480B=1020K加上保护页4K,就是1024K=1M了。

又比如:

0:000> !teb
TEB at 002bf000
    ExceptionList:        001cfd78
    StackBase:            001d0000
    StackLimit:           000d1000
    SubSystemTib:         00000000
    FiberData:            00001e00
    ArbitraryUserPointer: 00000000
    Self:                 002bf000
    EnvironmentPointer:   00000000
    ClientId:             00002d60 . 000044e4
    RpcHandle:            00000000
    Tls Storage:          0069d808
    PEB Address:          002bc000
    LastErrorValue:       0
    LastStatusValue:      0
    Count Owned Locks:    0
    HardErrorMode:        0
?StackBase-StackLimit==001d0000-000d1000=1020K加上保护页4K,也是1024K=1M了。

Linux 系统中很多 shell,包括bash,sh,zsh,dash 和 korn 等,不管哪种 shell 都会有一个 .bashrc 的隐藏文件,它就相当于 shell 的配置文件。

一般会有多个 .bashrc 文件,使用 find 命令可以查看:

$ sudo find / -name .bashrc

/home/hj/.bashrc			# hj  为用户名/root/.bashrc
/snap/core18/941/etc/skel/.bashrc
/snap/core18/941/root/.bashrc
/snap/core18/970/etc/skel/.bashrc
/snap/core18/970/root/.bashrc
/snap/core/6818/etc/skel/.bashrc
/snap/core/6818/root/.bashrc
/snap/core/6964/etc/skel/.bashrc
/snap/core/6964/root/.bashrc
/snap/core/6673/etc/skel/.bashrc
/snap/core/6673/root/.bashrc
/etc/skel/.bashrc

不同目录下的 .bashrc 文件其作用不尽相同,比如:

  • /etc/skel/.bashrc :文件将复制到系统上创建的任何新用户的主文件夹中

  • /home/hj/.bashrc:是 bash 的配置文件,保存个人的一些个性化设置,如命令别名、路径等

在这里我们主要来探讨下用户主目录下的 .bashrc 文件,即:/home/hj/.bashrc

使用 man bash 命令查看到的联机帮助文件中的相关解释如下:

这个文件主要保存个人的一些个性化设置,如命令别名、路径等。下面是个例子:

.bashrc - The individual per-interactive-shell startup file.

这个文件主要保存个人的一些个性化设置,如命令别名、路径等。下面是个例子:

# User specific aliases and functionsPATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin".GBK
export PATH LANG
alias rm='rm -i'alias ls='/bin/ls -F --color=tty --show-control-chars'....


利用 .bashrc 进行个性化设置

每次修改 .bashrc后,使用 source ~/.bashrc(或者 . ~/.bashrc)就可以立刻加载修改后的设置,使之生效。

一般会在.bash_profile文件中显式调用.bashrc。登陆 linux 启动 bash时首先会去读取 ~/.bash_profile文件,这样 ~/.bashrc也就得到执行了,你的个性化设置也就生效了。

利用这一特性,可以实现一些个性化设置,如:Linux 系统开机执行自动某个脚本文件等,这在自动化运维方面有一定的用处。

1、修改 /home/hj/.bashrc 文件:

sudo vim /home/hj/.bashrc# 在最后添加两句后保存echo '这句话开机就会启动'			# 打印输出python3 /home/hj/test.py			# 执行 test.py  这个脚本

2、当 Linux 开机后:

可以看到 Linux 开机后加载了 .bashrc 文件。


新年度开账结转操作步骤(2021年结转到2022年)

一、新建会计期间:

        1、2021年度12月份做月末结账,系统自动新建新年度会计期间;

       2、2021年度业务未完成,同时需操作2022年业务:

   手动新建新年度会计期间,路径:用U8账套主身份用户登陆U8客户端,登陆日期选20211231日(12月会计期间的最后日期之前),在基础设置---基本信息---会计期间,打开会计期间,点“增加”按操作提示完成新年度会计期间建立,详见下例示图:

图片

图片

图片

二、总账开账、结转:

        总账12月份月末结账后,U8账套主管用户登陆U8客户端,选登陆日期为202211日,依次打开:财务会计--总账--期初,点击进入期初余额界面,再点表头“开账”,即完成新总账开账,详见下例示图:

图片

图片

开账之前期初为空白,开账完成后自动将上年度的会计科目基础档案结转至新年度,如果此时12月份已结账,可以点“结转”,将上年度期末结转至新年度期初。结转完成后与上年度进行对账,对账正确后正常开展后续操作。(备注:总账支持重复结转,当结转完后发现上年度需要调整,可以返回上年度调整正确后重新结转总账期初.开帐只能进行一次,如果在开账之后再在21年增加的基础档案是不会再结转到22年的,要相应的在22年增加。 

图片

三、出纳管理开账

    用U8账套主管用户登陆U8客户端,选登陆日期为2022年1月1日,依次打开:财务会计--出纳管理--设置--系统设置,详见下例示图:

进入系统设置界面后先点“开账”,提示完成后再点“结转”,结转完成后正常操作。


Linux 端口的开启

  • Linux 端口的开启

  • 一、firewall 方式 (centOS7.*)

  • 二、修改 iptables 方式 (centOS6.*)

一、firewall 方式 (centOS7.*)

  1. 查看防火墙状态


firewall-cmd --state

图片

图片

如果返回的是 “not running”,那么需要先开启防火墙;

  1. 开启防火墙


systemctl start firewalld.service

图片

再次查看防火墙状态,发现已开启!另外,搜索公众号Linux就该这样学后台回复“Linux”,获取一份惊喜礼包。

  1. 开启指定端口


firewall-cmd --zone=public --add-port=3306/tcp --permanent

显示 success 表示成功
–zone=public 表示作用域为公共的
–add-port=443/tcp 添加 tcp 协议的端口端口号为 443
–permanent 永久生效,如果没有此参数,则只能维持当前 服 务生命周期内,重新启动后失效;

  1. 重启防火墙


systemctl restart firewalld.service

系统没有任何提示表示成功!

  1. 重新加载防火墙


firewall-cmd --reload

显示 success 表示成功

  1. 其他命令


#查看已开启的端口
firewall-cmd --list-ports

#关闭指定端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload

#查看端口被哪一个进程占用
netstat -lnpt |grep 5672
# centos7默认没有 netstat 命令,需要安装 net-tools 工具:
# 安装 net-tools
yum install -y net-tools

# 临时关闭防火墙
systemctl stop firewalld.service
# 或者
systemctl stop firewalld

# 永久关闭防火墙(必须先临时关闭防火墙,再执行该命令,进行永久关闭)
systemctl disable firewalld.service
# 或者
systemctl disable firewalld



二、修改 iptables 方式 (centOS6.*)

centOS6.* 的linux版本是自带iptables的,所以可以直接使用该方式,centOS7 不自带iptables的,所以要使用该方式,需要手动安装iptables后,再使用该方式!

2.1 修改 iptables 文件

#修改iptables
[root@localhost sbin]# vi /etc/sysconfig/iptables

图片

2.2 重启防火墙

[root@localhost sbin]# /etc/init.d/iptables restart

图片


三、注意事项

当在 Linux 中成功开启了某个端口,但是远程 telnet 还是无法 ping 通,是正常的!

图片

因为 3306 端口没有被 Linux 进程监听,换句话说,就是该端口上没有运行任何程序!!!
如果这时,我将 Mysql 在 Linux 中启动,并配置完成,那么远程 telnet 该端口是可以成功的!!!


SAP  拆分批次后,拆分数据丢失等原因不法删除。导致前台删除不了行项目及交货单。 可通过 修改 LIPS表    KCMENG(所有分裂项目的累计批数量(以库存单位计)) 字段值改为:0,和 KCBRGEW(所有批量拆分项的累计总重) 字段为:空。后数据空正常删除了