मेरे पास कुछ प्रक्रियाएं <defunct>
top
(और ps
) में दिखाई दे रही हैं। मैंने वास्तविक लिपियों और कार्यक्रमों से चीजों को उबलाया है।क्रॉन एंड अप निष्क्रिय द्वारा प्रसंस्कृत प्रक्रियाएं क्यों होती हैं?
मेरी crontab
में:
#!/bin/bash
# the real script does a little argument processing here
"[email protected]"
tester.sh
की सामग्रियों (निश्चित रूप से है जो चिह्नित निष्पादन योग्य):
* * * * * /tmp/launcher.sh /tmp/tester.sh
launcher.sh
की सामग्रियों (निश्चित रूप से है जो निष्पादन चिह्नित)
#!/bin/bash
sleep 27 & # the real script launches a compiled C program in the background
ps
निम्नलिखित पता चलता है:
user 24257 24256 0 18:32 ? 00:00:00 [launcher.sh] <defunct>
user 24259 1 0 18:32 ? 00:00:00 sleep 27
ध्यान दें कि tester.sh
प्रकट नहीं होता है - यह पृष्ठभूमि काम शुरू करने के बाद से बाहर निकल गया है।
launcher.sh
क्यों <defunct>
चिह्नित किया गया है? ऐसा लगता है कि cron
द्वारा लॉन्च किया गया था - जब मैं इसे स्वयं चलाता हूं तो नहीं।
अतिरिक्त नोट: launcher.sh
इस प्रणाली पर एक आम स्क्रिप्ट है जो इसे चलाता है, जिसे आसानी से संशोधित नहीं किया जाता है। अन्य चीजें (crontab
, tester.sh
, यहां तक कि प्रोग्राम जो मैं sleep
के बजाय चलाता हूं) को अधिक आसानी से संशोधित किया जा सकता है।
वैसे, चिह्नित प्रक्रियाओं "' '" कहा जाता है "लाश"। –
Teddy
सम्भावित समाधान इस सूत्र में देना है: http://stackoverflow.com/questions/3748432/insane-crond-behavior-keeps-making-defunct-bash-processes –