免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 9515 | 回复: 9
打印 上一主题 下一主题

[学习分享] ps -ef的输出被截断到80个字符是什么原因 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-01-13 21:33 |只看该作者 |倒序浏览
本帖最后由 maq 于 2014-01-14 18:59 编辑

SLES 11SP2下ps -ef|grep vsftpd的输出被截断到80个字符,是哪里设置得有问题? 如下:
root      2619     1  0 09:31 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd01.c
root      2633     1  0 09:31 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd02.c
root      2649     1  0 09:31 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd03.c
root     13283     1  0 08:46 pts/1    00:00:00 /usr/sbin/vsftpd /etc/vsftpd.con

发现执行 export COLUMNS=80可以达到这个效果,这个是在什么地方设置的呢? 新装的系统啊!还没有做什么配置。

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
2 [报告]
发表于 2014-01-14 07:50 |只看该作者
这个应该是 ps 的默认设置, 只显示终端宽度的字符, 而不应该是 80个吧 ?

另外, 你的命令我没见过, 不知道这个命令输出是个什么样子.

论坛徽章:
0
3 [报告]
发表于 2014-01-14 08:42 |只看该作者
本帖最后由 maq 于 2014-01-14 18:58 编辑

ps -ef|grep vsftpd(抱歉原来写错了)是被Symantec的VCS调用的清除脚本的一部分,我在命令行直接执行这个脚本都没有问题,但是查看日志却发现ps -ef的输出被截断了,就是如帖子中显示的这样。更奇怪的是,集群中有4台服务器,只有一台服务器的ps -ef输出没有被截断为80字符,是正常显示的132字符。这4台服务器都是新安装的,唯一不同的是,没有问题的服务器是用光盘安装的,其它3台是通过这台服务器用PXE网络安装的。

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
4 [报告]
发表于 2014-01-14 16:39 |只看该作者
回复 3# maq
  1. stty -a
复制代码
在几台服务器上分别执行这个命令
看看columns的值是多少

论坛徽章:
0
5 [报告]
发表于 2014-01-14 18:55 |只看该作者
speed 38400 baud; rows 61; columns 132; line = 0;
都是132。

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
6 [报告]
发表于 2014-01-15 10:13 |只看该作者
回复 6# maq

不是这里. 要在你的脚本里执行. 因为你这样执行, stty 查看的是你当前的 terminal.

说明你的脚本执行的环境可能是 80 的.
   

论坛徽章:
0
7 [报告]
发表于 2014-01-15 13:39 |只看该作者
本帖最后由 maq 于 2014-01-15 19:46 编辑

在监视脚本里加入了
echo $COLUMNS >> /var/VRTSvcs/log/vsftp_mon.log
stty -a >> /var/VRTSvcs/log/vsftp_mon.log 2>&1
日志里返回如下的信息:
80
stty: standard input: Inappropriate ioctl for device
看来脚本环境就是80,这个缺省值是在什么地方设置的?

在没问题的那台服务器脚本里加了echo $COLUMNS >> /var/VRTSvcs/log/vsftp_mon.log
日志里竟然返回124! 不是132。这个值是在什么地方设置的啊?

评分

参与人数 1可用积分 +4 收起 理由
amarant + 4 很给力!

查看全部评分

论坛徽章:
0
8 [报告]
发表于 2014-01-17 16:28 |只看该作者
在/etc/profile里加了 stty columns 124(用export COLUMNS=124无效),可以解决这个问题。怀疑PXE网络安装有一步在字符界面下选择网卡启动,这个COLUMNS值被继承下来了,就是不知道在哪里存着的。

论坛徽章:
0
9 [报告]
发表于 2017-01-05 12:44 |只看该作者
回复 9# maq

建议在执行ps命令的时候加上 ww 参数,比如 ps -ewwf | grep xxx, 不限制ps输出长度
上边这种在 profile中修改columns的方法,如果以后有其他进程的命令长度可能会更长,那么还是会出问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP