#python #linux #bash #multiprocessing #nohup
#python #linux #баш #многопроцессорность #nohup
Вопрос:
Более недели назад я работал nohup python3 -u script.py
на кластере Ubuntu beowulf, к которому я был подключен через SSH. Теперь я вернулся, желая отключить эти процессы (эта программа использует многопроцессорную обработку с объектом пула), но я не смог этого сделать, так как не смог найти PID. Я знаю, что процессы все еще выполняются, потому nohup.out
что все еще добавляются и генерируются другие данные, но, похоже, при запуске таких команд, как ps или top, ничего не появляется. Например, когда я запускаю ps -x -U mkarrmann
, я получаю:
PID TTY STAT TIME COMMAND
1296920 ? Ss 0:00 /lib/systemd/systemd --user
1296929 ? S 0:00 (sd-pam)
1296937 ? Ssl 0:00 /usr/bin/pulseaudio --daemonize=no --log-target=journal
1296939 ? SNsl 0:00 /usr/libexec/tracker-miner-fs
1296944 ? Ss 0:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
1296945 ? R 0:00 sshd: mkarrmann@pts/0
1296960 ? Ssl 0:00 /usr/libexec/gvfsd
1296965 ? Sl 0:00 /usr/libexec/gvfsd-fuse /run/user/3016/gvfs -f -o big_writes
1296972 ? Ssl 0:00 /usr/libexec/gvfs-udisks2-volume-monitor
1296979 pts/0 Ss 0:00 -bash
1296980 ? Ssl 0:00 /usr/libexec/gvfs-gphoto2-volume-monitor
1296987 ? Ssl 0:00 /usr/libexec/gvfs-afc-volume-monitor
1296992 ? Ssl 0:00 /usr/libexec/gvfs-mtp-volume-monitor
1297001 ? Ssl 0:00 /usr/libexec/gvfs-goa-volume-monitor
1297005 ? Sl 0:00 /usr/libexec/goa-daemon
1297014 ? Sl 0:00 /usr/libexec/goa-identity-service
1297126 pts/0 R 0:00 ps -x -U mkarrmann
Или когда я запускаю ps -faux | grep py
, я получаю:
root 975 0.0 0.0 34240 8424 ? Ss Jul28 0:00 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
root 1046 0.0 0.3 476004 245516 ? Ss Jul28 66:45 /usr/bin/python3 /usr/sbin/glustereventsd --pid-file /var/run/glustereventsd.pid
root 1275 0.0 0.0 20612 7732 ? S Jul28 0:00 _ /usr/bin/python3 /usr/sbin/glustereventsd --pid-file /var/run/glustereventsd.pid
mkarrma 1297143 0.0 0.0 6380 736 pts/0 S 14:40 0:00 _ grep --color=auto py
Действительно ли какие-либо из них соответствуют моим процессам Python, и я просто пропускаю это? Что-нибудь еще, что я должен попробовать? Я чувствую, что единственное, что я не пробовал, — это ручной синтаксический /proc
анализ, но это, очевидно, не должно быть необходимым, поэтому я уверен, что мне чего-то не хватает.
Я рад предоставить любую дополнительную информацию, которая может быть полезной. Спасибо!
Комментарии:
1. Может ли это быть как-то связано с кластером Beowulf, если вы не видите все компьютеры? Я ничего не знаю о Beowulf, так что на самом деле не знаю, просто проверил это в Википедии немного сейчас.
2. @antont Я так не считаю — мое понимание и опыт до этого момента заключались в том, что он должен функционировать как единый сервер, но я включил тот факт, что он был в кластере Beowulf, поскольку я не знаю достаточно, чтобы быть уверенным, что это не имеет значения. Я постараюсь подробнее разобраться в этом, спасибо.
3. Да, я также читал, что Beowulf должен показывать это как одну машину. В противном случае моей первой мыслью было, что он разбился, но вы сказали, что видите новые записи журнала и поступающие данные. Я бы трижды проверил, что это действительно так.
4. @antont После нескольких входов и выходов из системы я, наконец, получил доступ к процессам. Оказывается, это было связано с причудой системы beowulf, и я просто должен был быть подключен к правильному узлу. Удивлен, что я не столкнулся с этой проблемой раньше, и это, очевидно, полезно знать в будущем. Спасибо за помощь!