Найти в Дзене
programmer's notes (python and more)

Программирование на Python. Элементы многозадачности в os. Взаимодействие. Опять spawn и waitpid. Приложение 3 к видео 16

Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.

А это подборки моих материалов на канале

Приложение 3 к видео (см. Приложение 1, Приложение 2)

Новое о spawn и waitpid

Сегодня продолжаем заниматься многозадачным программированием. В этой короткой статье cнова вернёмся к функциям spawn() и функции waitpid().

Что нового я бы вам хотел сообщить.

  • Функции семейства spawn() оказывается возвращают идентификатор процесса, если запустить их с опцией os.P_NOWAIT. Т.е. функция сразу же возвращает идентификатор запущенной ей процесса.
  • Функция waitpid(), если её запустить с опцией os.WNOHANG тоже не будет ждать окончания работы процесса, но если процесс закончил свою работу, то она возвращает кортеж, первым элементов которого будет идентификатор процесса.

Ниже представлены две программы, написанные на языке Python. Первая (p1.py) запускает вторую (p2.py) и постоянно опрашивает, не закончила ли та работу.

Вот эти программы.

Программа p1.py, текст программы см. ниже
Программа p1.py, текст программы см. ниже
primer98.py

Программа p2.py, текст программы см. ниже
Программа p2.py, текст программы см. ниже
primer99.py

Запуск программы

./p1.py

Результат выполнения

Запуск дочернего процесса
Работа в дочернем процессе
Работа в дочернем процессе
Работа в дочернем процессе
Работа в дочернем процессе
Работа в дочернем процессе
Конец работы дочернего процесса

До скорых продолжений о многозадачности, друзья.

Хорошего программирования. Оставляйте свои комментарии, не забывайте про лайки и подписывайтесь на мой канал programmer's notes.

Я слежу за вами, вы не программируете
Я слежу за вами, вы не программируете