|zhuyifei1999 added a comment.|
Ok I understand. Everyone has 'first times'. Another tool that might help you is strace. It can see what syscalls a program is doing live. You can attach it to whatever thread you want (strace -p PID, well, the kernel considers a thread a task, so they all have their own "process" ids). If a thread is frozen, you'd see it waiting forever. In this script, if it were frozen, attaching to the main thread you'd find the select(2) call repeating with nothing in between. Any new thread starting you will see a clone(2) syscall, and possibly many futex(2), which is likely related python's GIL.
FWIW, I usually use a utility called htop to navigate among processes/threads/tasks.
Cc: gerritbot, Dalba, Xqt, Zoranzoki21, zhuyifei1999, Aklapper, pywikibot-bugs-list, Dvorapa, Giuliamocci, Adrian1985, Cpaulf30, Baloch007, Darkminds3113, Lordiis, Adik2382, Th3d3v1ls, Ramalepe, Liugev6, Magul, Tbscho, rafidaslam, MayS, Lewizho99, Mdupont, JJMC89, Maathavan, Avicennasis, jayvdb, Masti, Alchimista, Rxy
_______________________________________________ pywikibot-bugs mailing list firstname.lastname@example.org https://lists.wikimedia.org/mailman/listinfo/pywikibot-bugs