Chinaunix首页 | 论坛 | 博客
  • 博客访问: 295744
  • 博文数量: 43
  • 博客积分: 1044
  • 博客等级: 准尉
  • 技术积分: 658
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-20 14:56
个人简介

人法地,地法天,天法道,道法自然。

文章分类

全部博文(43)

文章存档

2019年(1)

2013年(3)

2012年(15)

2011年(24)

分类: C/C++

2011-06-28 09:32:31

最近在使用mysql是發現,当使用命令mysql -uroot -proot123时,使用ps命令产看进程会发现
mysql    12504     1  0 02:05 ?        00:00:27 /usr/sbin/mysqld
root     16286 15802  0 21:39 pts/5    00:00:00 mysql -uroot -px xxxx
会发现mysql的-p参数不是原来输入的密码了。

这个估计是mysql做的安全策略。看到这个时候,就实现了一个简单的例子,如下:
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <unistd.h>

  4. int main(int argc,char *args[])
  5. {
  6.     int i=0;
  7.     int j=0;
  8.     int str_len = 0;

  9.     for(i=0;i<argc;i++){
  10.         str_len = strlen(args[i]);
  11.         for(j=0;j<str_len;j++){
  12.             args[i][j]='X';
  13.         }
  14.     }

  15.     sleep(90);

  16.     return 0;
  17. }
以上程序在Ubuntu上测试。编译,执行(./a.out kkkk jjjjj)后,使用ps看进程
root@test-desktop:~# ps -ef | grep X
root     15824 13766  0 21:02 pts/4    00:00:00 XXXXXXX XXXX XXXXX
root     15827 15802  0 21:02 pts/5    00:00:00 grep --color=auto X
在使用tty命令查看当前使用终端为/dev/pts/4

可以看出上面的程序真的改了程序的命令行参数。
阅读(1800) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~