1. bash / Говнокод #5356

    −141

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    #!/bin/bash
    
    read str
      str=${str//1/2}
     str=${str//0/1}
      str=${str//2/0}
      echo $str
    str=${str##*0};
      echo $str
    exit 0
    
    for pid in `ps -ef | gawk '{ print $2 }'`
    do
      echo "pid "$pid;
      cat /proc/$pid/comm
      cmd=`cat /proc/$pid/cmdline`
      echo ''
      for fdinfo in `ls /proc/$pid/fd`
      do
        echo "     "$fdinfo
      if [ $USER==root ]; then
        fd=`ls -l /proc/$pid/fd/$fdinfo | gawk '{ print $11 }'`
       else
        fd=`ls -l /proc/$pid/fd/$fdinfo | gawk '{ print $10 }'`
       fi
        owner=`ls -l $fd | gawk '{ print $3}'`
        echo "     "$fd" pid"$pid" cmdline "$cmd" own "$owner
      done
    done

    Ищет файлы процесов

    Запостил: AliceGoth, 23 Января 2011

    Комментарии (3) RSS

    • Что-то не понял я смысла этого жонглирования 0-1-2.
      Ответить
    • Для этого есть команда lsof она тоже самое делает что и мой скрипт.
      Ответить
      • Ну, даже если забыть про lsof, то мне лично всё-равно очень не нравяться конструкции завязанные на вывод "ls" (он очень переменен от множества факторов). Для чтения направления ссылок есть "readlink" ;)

        Так же стоит отметить "exit 0" в начале програмым, походу программа времено в отладке :)
        Ответить

    Добавить комментарий