Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: проблема с ps aux  (Прочитано 4504 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Zeka13

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1177
  • 18.10 Gnome x64 GTX 970
    • Просмотр профиля
проблема с ps aux
« : 03 Мая 2013, 01:19:51 »
Всем доброго времени суток!

У меня есть следующая конструкция bash

ps aux | grep -v grep | grep -i `whoami` | grep -i screen | grep -i minecraft | awk '{print $2}'

minecraft - имя screen''a

так я получаю pid, запущенного в screen, нужного процесса  текущего пользователя

Дело в том, что у меня несколько пользователей в системе и для кого-то этот код работает, а для кого-то нет(ничего не выводится)!

Я вообще не могу понять почему это происходит

Заранее спасибо за новодки
« Последнее редактирование: 03 Мая 2013, 01:22:06 от Zeka13 »
Если Wine - это костыль , то  Punto Switcher - это протез , а Daemon Tools инвалидное кресло.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: проблема с ps aux
« Ответ #1 : 03 Мая 2013, 02:05:53 »
Дело в том, что у меня несколько пользователей в системе и для кого-то этот код работает, а для кого-то нет(ничего не выводится)!
Методом исключения, убрав некоторые grep, можно выяснить, где косяк.

Оффлайн Zeka13

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1177
  • 18.10 Gnome x64 GTX 970
    • Просмотр профиля
Re: проблема с ps aux
« Ответ #2 : 03 Мая 2013, 13:13:50 »
Спасибо Капитан Очевидность!

Я уже это попробовал

Хорошо, приведу пример

Вот неправильный вывод

mrfreeman@Satellite:~$ ps aux | grep -v grep | grep -i `whoami`
root      22204  0.0  0.0  77480  3568 ?        Ss   13:12   0:00 sshd: mrfreeman [priv]
1023      22394  0.0  0.0  77480  1696 ?        S    13:12   0:00 sshd: mrfreeman@pts/17

Вот правильный вывод

zeka       3224  0.0  0.0  28384  1684 ?        Ss   00:59   0:00 SCREEN -dmS minecraft java -Xincgc -Xmx1275M -jar craftbukkit-1.3.2-R2.0.jar
zeka       3226 10.1  2.1 5774528 447016 pts/9  Ssl+ 00:59  74:07 java -Xincgc -Xmx1275M -jar craftbukkit-1.3.2-R2.0.jar
root      21892  0.0  0.0  77480  3560 ?        Ss   13:12   0:00 sshd: zeka [priv]   
zeka      22091  0.0  0.0  77480  1692 ?        S    13:12   0:00 sshd: zeka@pts/0   
zeka      22092  0.2  0.0  24816  4872 pts/0    Ss   13:12   0:00 -bash
zeka      23112  0.0  0.0  19380  1256 pts/0    R+   13:13   0:00 ps aux

В чём может быть дело?
Если Wine - это костыль , то  Punto Switcher - это протез , а Daemon Tools инвалидное кресло.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: проблема с ps aux
« Ответ #3 : 03 Мая 2013, 13:21:01 »
Вот неправильный вывод

mrfreeman@Satellite:~$ ps aux | grep -v grep | grep -i `whoami`
root      22204  0.0  0.0  77480  3568 ?        Ss   13:12   0:00 sshd: mrfreeman [priv]
1023      22394  0.0  0.0  77480  1696 ?        S    13:12   0:00 sshd: mrfreeman@pts/17

Вот правильный вывод

zeka       3224  0.0  0.0  28384  1684 ?        Ss   00:59   0:00 SCREEN -dmS minecraft java -Xincgc -Xmx1275M -jar craftbukkit-1.3.2-R2.0.jar
zeka       3226 10.1  2.1 5774528 447016 pts/9  Ssl+ 00:59  74:07 java -Xincgc -Xmx1275M -jar craftbukkit-1.3.2-R2.0.jar
root      21892  0.0  0.0  77480  3560 ?        Ss   13:12   0:00 sshd: zeka [priv]   
...
Так понятно, или нужны объяснения?

Оффлайн Zeka13

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1177
  • 18.10 Gnome x64 GTX 970
    • Просмотр профиля
Re: проблема с ps aux
« Ответ #4 : 03 Мая 2013, 13:43:37 »
нет не понятно

SCREEN -dmS minecraft java -Xincgc -Xmx1275M -jar craftbukkit-1.3.2-R2.0.jar

должен быть у обоих пользователей!
Если Wine - это костыль , то  Punto Switcher - это протез , а Daemon Tools инвалидное кресло.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: проблема с ps aux
« Ответ #5 : 03 Мая 2013, 13:57:30 »
Вы запускаете команду под юзером mrfreeman и whoami возвращает это самое имя, дальше grep по тому же имени.
Поэтому ваш "неправильный" выхлоп вполне правильный.

Оффлайн Zeka13

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1177
  • 18.10 Gnome x64 GTX 970
    • Просмотр профиля
Re: проблема с ps aux
« Ответ #6 : 03 Мая 2013, 14:01:11 »
у меня есть 10 пользователей

у всех запущен screen с java

для 50% работает конструкция

ps aux | grep -v grep | grep -i `whoami` | grep -i screen | grep -i minecraft | awk '{print $2}'

для 50% нет

почему?

ps aux | grep -v grep


Цитировать
......
powaser    2726  0.0  0.0  28248  1320 ?        Ss   00:59   0:00 SCREEN -dmS minecraft java -Xincgc -Xmx1700M -jar craftbukkit.jar
powaser    2728  3.3  2.5 6149344 519168 pts/5  Ssl+ 00:59  26:30 java -Xincgc -Xmx1700M -jar craftbukkit.jar
single1    2883  0.0  0.0  28248  1320 ?        Ss   00:59   0:00 SCREEN -dmS minecraft java -Xincgc -Xmx850M -jar CraftBukkit1.4.7.jar
single1    2885  2.1  1.7 3579556 358824 pts/6  Ssl+ 00:59  16:40 java -Xincgc -Xmx850M -jar CraftBukkit1.4.7.jar
wertyk     3020  0.0  0.0  28380  1436 ?        Ss   00:59   0:01 SCREEN -dmS minecraft java -Xincgc -Xmx4250M -jar craftbukkit-1.5.1-R0.1-20130330.075504-28.jar
wertyk     3022 84.1 11.0 9021324 2264832 pts/7 Ssl+ 00:59 655:58 java -Xincgc -Xmx4250M -jar craftbukkit-1.5.1-R0.1-20130330.075504-28.jar
zeka       3224  0.0  0.0  28384  1684 ?        Ss   00:59   0:00 SCREEN -dmS minecraft java -Xincgc -Xmx1275M -jar craftbukkit-1.3.2-R2.0.jar
zeka       3226  9.9  2.1 5774528 447220 pts/9  Ssl+ 00:59  77:53 java -Xincgc -Xmx1275M -jar craftbukkit-1.3.2-R2.0.jar
winchii    6338  0.0  0.0  28248  1320 ?        Ss   01:16   0:00 SCREEN -dmS minecraft java -Xincgc -Xmx850M -jar spigot.jar
winchii    6339  2.8  1.9 4597376 394656 pts/8  Ssl+ 01:16  21:25 java -Xincgc -Xmx850M -jar spigot.jar
....

Пользователь решил продолжить мысль 03 Мая 2013, 14:04:07:
Выхлоп "неправильный" только потому, что он не выводит мне ничего про screen пользователя mrfreeman, а пользователя zeka выводит

причём например пользователя winchii выводит, а пользователя ditrikhde - нет!

хотя у всех запущен screen
« Последнее редактирование: 03 Мая 2013, 14:04:29 от Zeka13 »
Если Wine - это костыль , то  Punto Switcher - это протез , а Daemon Tools инвалидное кресло.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: проблема с ps aux
« Ответ #7 : 03 Мая 2013, 14:10:06 »
Цитировать
grep -i `whoami`
grep -i `id -un`
Wars ~.o

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: проблема с ps aux
« Ответ #8 : 03 Мая 2013, 14:15:06 »
Надо сравнивать полный вывод "ps aux" и то, что выдаёт ваша команда.

В тестовом выхлопе всё работает:
(Нажмите, чтобы показать/скрыть)

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: проблема с ps aux
« Ответ #9 : 03 Мая 2013, 14:35:23 »
ps aux | grep -i "`cat /etc/passwd | grep \":1[0-9][0-9][0-9]:\" | awk 'BEGIN {FS=\":\" } {print \"^\"$1}'`" | grep -i screen | grep -i minecraft
Wars ~.o

Оффлайн Zeka13

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1177
  • 18.10 Gnome x64 GTX 970
    • Просмотр профиля
Re: проблема с ps aux
« Ответ #10 : 04 Мая 2013, 15:34:38 »
victor00000
Цитировать
ps aux | grep -i "`cat /etc/passwd | grep \":1[0-9][0-9][0-9]:\" | awk 'BEGIN {FS=\":\" } {print \"^\"$1}'`" | grep -i screen | grep -i minecraft

(Нажмите, чтобы показать/скрыть)

но у mrfreeman тоже есть этот процесс, а ps aux его не видит и не обязательно убирать мои grep, чтобы это понять!

ArcFi, что-нибудь менее очевидное посоветовать можете?

Я же прислал отрывок из полного вывода

Пользователь решил продолжить мысль 04 Мая 2013, 15:35:53:
Вот, пожалуйста!


« Последнее редактирование: 04 Мая 2013, 15:38:06 от Zeka13 »
Если Wine - это костыль , то  Punto Switcher - это протез , а Daemon Tools инвалидное кресло.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: проблема с ps aux
« Ответ #11 : 04 Мая 2013, 15:56:02 »
Zeka13,
Цитировать
mrfreeman
да, невиден правильно, номер 1000 ровно и ну раз команд.
ps aux | grep -i "^1000 \|`cat /etc/passwd | grep \":1[0-9][0-9][0-9]:\" | awk 'BEGIN {FS=\":\" } {print \"^\"$1}'`" | grep -i screen | grep -i minecraft
« Последнее редактирование: 04 Мая 2013, 15:59:17 от victor00000 »
Wars ~.o

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: проблема с ps aux
« Ответ #12 : 04 Мая 2013, 15:58:18 »
Ну, это же очевидно.
Перенаправьте полный вывод "ps aux" в файл.
Натравите вашу команду на этот файл и убедитесь, что там есть строки, которые она не находит.
Последовательно убирая/добавляя/изменяя фильтры из конвейера добейтесь, чтобы команда работала.

Оффлайн Zeka13

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1177
  • 18.10 Gnome x64 GTX 970
    • Просмотр профиля
Re: проблема с ps aux
« Ответ #13 : 04 Мая 2013, 16:13:26 »
Zeka13,
Цитировать
mrfreeman
да, невиден правильно, номер 1000 ровно и ну раз команд.
ps aux | grep -i "^1000 \|`cat /etc/passwd | grep \":1[0-9][0-9][0-9]:\" | awk 'BEGIN {FS=\":\" } {print \"^\"$1}'`" | grep -i screen | grep -i minecraft
я ничего не понял!

ps aux | grep -i "^1000 \|`cat /etc/passwd | grep \":1[0-9][0-9][0-9]:\" | awk 'BEGIN {FS=\":\" } {print \"^\"$1}'`" | grep -i screen | grep -i minecraft
выводит тоже самое, без mrfreeman!

Пользователь решил продолжить мысль 04 Мая 2013, 16:15:34:
Ну, это же очевидно.
Перенаправьте полный вывод "ps aux" в файл.
Натравите вашу команду на этот файл и убедитесь, что там есть строки, которые она не находит.
Последовательно убирая/добавляя/изменяя фильтры из конвейера добейтесь, чтобы команда работала.

я вообще ничего не понимаю!

что именно очевидно?

mrfreeman@Satellite:~$ ps aux > 1.aux
mrfreeman@Satellite:~$ cat 1.aux | grep mrfreeman
root      98451  0.0  0.0  77480  3564 ?        Ss   16:11   0:00 sshd: mrfreeman [priv]
1023      98744  0.0  0.0  77480  1692 ?        S    16:12   0:00 sshd: mrfreeman@pts/0
mrfreeman@Satellite:~$
« Последнее редактирование: 04 Мая 2013, 16:15:34 от Zeka13 »
Если Wine - это костыль , то  Punto Switcher - это протез , а Daemon Tools инвалидное кресло.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: проблема с ps aux
« Ответ #14 : 04 Мая 2013, 16:18:51 »
id -u mrfreeman?

Пользователь решил продолжить мысль 04 Мая 2013, 16:24:00:
ps aux | sed 's/^1023 /mrfreeman /g' | grep -i "`cat /etc/passwd | grep \":1[0-9][0-9][0-9]:\" | awk 'BEGIN {FS=\":\" } {print \"^\"$1}'`" | grep -i screen | grep -i minecraft?
« Последнее редактирование: 04 Мая 2013, 16:24:00 от victor00000 »
Wars ~.o

 

Страница сгенерирована за 0.125 секунд. Запросов: 25.