Wait (system call)
ಕಂಪ್ಯೂಟರ್ ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ಒಂದು ಪ್ರಕ್ರಿಯೆಯು (ಅಥವಾ ಕಾರ್ಯ) ಅದರ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಮತ್ತೊಂದು ಪ್ರಕ್ರಿಯೆಯವರೆಗೆ ಕಾಯಬಹುದು. ಹೆಚ್ಚಿನ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ಪೋಷಕ ಪ್ರಕ್ರಿಯೆಯು ಸ್ವತಂತ್ರವಾಗಿ ಕಾರ್ಯಗತಗೊಳ್ಳುವ ಮಕ್ಕಳ ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸಬಹುದು. ಪೋಷಕ ಪ್ರಕ್ರಿಯೆಯು ನಂತರ ಕಾಯುವ ವ್ಯವಸ್ಥೆಯ ಕರೆಯನ್ನು ನೀಡಬಹುದು, ಇದು ಮಗುವು ಕಾರ್ಯಗತಗೊಳಿಸುವಾಗ ಪೋಷಕ ಪ್ರಕ್ರಿಯೆಯ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಸ್ಥಗಿತಗೊಳಿಸುತ್ತದೆ. ಚೈಲ್ಡ್ ಪ್ರಕ್ರಿಯೆಯು ಕೊನೆಗೊಂಡಾಗ, ಅದು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಗೆ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ, ನಂತರ ಅದನ್ನು ಕಾಯುವ ಪೋಷಕ ಪ್ರಕ್ರಿಯೆಗೆ ಹಿಂತಿರುಗಿಸಲಾಗುತ್ತದೆ. ಪೋಷಕ ಪ್ರಕ್ರಿಯೆಯು ನಂತರ ಕಾರ್ಯಗತಗೊಳ್ಳುವುದನ್ನು ಪುನರಾರಂಭಿಸುತ್ತದೆ. ಆಧುನಿಕ ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಗಳು ಸಿಸ್ಟಮ್ ಕರೆಗಳನ್ನು ಸಹ ಒದಗಿಸುತ್ತವೆ, ಅದು ಪ್ರಕ್ರಿಯೆಯ ಥ್ರೆಡ್ ಅನ್ನು ಇತರ ಥ್ರೆಡ್ಗಳನ್ನು ರಚಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ ಮತ್ತು ಅದೇ ರೀತಿಯಲ್ಲಿ ಅವುಗಳನ್ನು ಕೊನೆಗೊಳಿಸಲು ("ಸೇರಲು") ಕಾಯುತ್ತದೆ. ಒಂದು ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಯು ಕಾಯುವ ಕರೆಯ ಮಾರ್ಪಾಡುಗಳನ್ನು ಒದಗಿಸಬಹುದು, ಅದು ಒಂದು ಪ್ರಕ್ರಿಯೆಯು ಅದರ ಯಾವುದೇ ಚೈಲ್ಡ್ ಪ್ರಕ್ರಿಯೆಗಳು ನಿರ್ಗಮಿಸುವವರೆಗೆ ಕಾಯಲು ಅಥವಾ ಒಂದು ನಿರ್ದಿಷ್ಟ ಚೈಲ್ಡ್ ಪ್ರಕ್ರಿಯೆ (ಅದರ ಪ್ರಕ್ರಿಯೆ ಐ. ಡಿ. ಯಿಂದ ಗುರುತಿಸಲ್ಪಡುತ್ತದೆ) ನಿರ್ಗಮಿಸುವವರೆಗೆ ಕಾಯಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಕೆಲವು ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಗಳು ಮಗುವಿನ ಪ್ರಕ್ರಿಯೆಯು ಕೊನೆಗೊಂಡಾಗ ಪೋಷಕ ಪ್ರಕ್ರಿಯೆಗೆ ಸಂಕೇತವನ್ನು (SIGCHLD) ನೀಡುತ್ತವೆ, ಪೋಷಕ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸೂಚಿಸುತ್ತವೆ ಮತ್ತು ಮಗುವಿನ ಪ್ರಕ್ರಿಯೆಯ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯನ್ನು ಹಿಂಪಡೆಯಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತವೆ. ಚೈಲ್ಡ್ ಪ್ರಕ್ರಿಯೆಯಿಂದ ಹಿಂತಿರುಗಿದ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯು ಸಾಮಾನ್ಯವಾಗಿ ಪ್ರಕ್ರಿಯೆಯು ಸಾಮಾನ್ಯವಾಗಿ ಕೊನೆಗೊಂಡಿದೆಯೇ ಅಥವಾ ಅಸಹಜವಾಗಿದೆಯೇ ಎಂಬುದನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಸಾಮಾನ್ಯ ಮುಕ್ತಾಯಕ್ಕಾಗಿ, ಈ ಸ್ಥಿತಿಯು ನಿರ್ಗಮನ ಸಂಕೇತವನ್ನು (ಸಾಮಾನ್ಯವಾಗಿ ಒಂದು ಪೂರ್ಣಾಂಕದ ಮೌಲ್ಯ) ಸಹ ಒಳಗೊಂಡಿರುತ್ತದೆ, ಆ ಪ್ರಕ್ರಿಯೆಯು ವ್ಯವಸ್ಥೆಗೆ ಮರಳುತ್ತದೆ. ಯುನಿಕ್ಸ್ನ ಮೊದಲ 20 ವರ್ಷಗಳಲ್ಲಿ, ಕಾಯುವ ಪೋಷಕರಿಗೆ ನಿರ್ಗಮನ ಕೋಡ್ನ ಕಡಿಮೆ 8 ಬಿಟ್ಗಳು ಮಾತ್ರ ಲಭ್ಯವಿವೆ. 1989 ರಲ್ಲಿ ಎಸ್. ವಿ. ಆರ್. 4 ನೊಂದಿಗೆ, ಹೊಸ ಕರೆ ವೇಟಿಡ್ ಅನ್ನು ಪರಿಚಯಿಸಲಾಯಿತು, ಇದು ಸ್ಟ್ರಕ್ಚರ್ ಮೆಂಬರ್ ಸಿ _ ಸ್ಟೇಟಸ್ನಲ್ಲಿ ಸಿಗಿನ್ಫೋ _ ಟಿ ಎಂಬ ರಚನೆಯಲ್ಲಿ ನಿರ್ಗಮನ ಕರೆಯಿಂದ ಎಲ್ಲಾ ಬಿಟ್ಗಳನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ. 2001ರಿಂದ ವೈಟಿಡ್ ಪೊಸಿಕ್ಸ್ ಮಾನದಂಡದ ಕಡ್ಡಾಯ ಭಾಗವಾಗಿದೆ. ಸೋಮಾರಿಗಳನ್ನು ಮತ್ತು ಅನಾಥರು ಮಗುವಿನ ಪ್ರಕ್ರಿಯೆಯು ಕೊನೆಗೊಂಡಾಗ, ಅದು ಜೊಂಬಿ ಪ್ರಕ್ರಿಯೆಯಾಗುತ್ತದೆ, ಮತ್ತು ಇದು ಸಕ್ರಿಯವಾಗಿ ಕಾರ್ಯಗತಗೊಳ್ಳುವ ಪ್ರೋಗ್ರಾಂ ಆಗಿರದಿದ್ದರೂ ಸಹ ಸಿಸ್ಟಮ್ ಪ್ರಕ್ರಿಯೆಯ ಕೋಷ್ಟಕದಲ್ಲಿ ಪ್ರವೇಶವಾಗಿ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ. ಸಾಮಾನ್ಯ ಕಾರ್ಯಾಚರಣೆಯ ಅಡಿಯಲ್ಲಿ ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಅದರ ಪೋಷಕರಿಂದ ತಕ್ಷಣವೇ ಕಾಯಲ್ಪಡುತ್ತದೆ, ಮತ್ತು ನಂತರ ವ್ಯವಸ್ಥೆಯಿಂದ ಕೊಯ್ಲು ಮಾಡಲ್ಪಡುತ್ತದೆ, ಸಂಪನ್ಮೂಲವನ್ನು ಪುನಃ ಪಡೆದುಕೊಳ್ಳುತ್ತದೆ (ಪ್ರಕ್ರಿಯೆಯ ಕೋಷ್ಟಕ ನಮೂದು). ಒಂದು ಮಗುವು ತನ್ನ ಪೋಷಕರಿಂದ ಕಾಯದಿದ್ದರೆ, ಅದು ಈ ಸಂಪನ್ಮೂಲವನ್ನು ಅನಿರ್ದಿಷ್ಟವಾಗಿ ಬಳಸುವುದನ್ನು ಮುಂದುವರೆಸುತ್ತದೆ ಮತ್ತು ಇದು ಸಂಪನ್ಮೂಲ ಸೋರಿಕೆಯಾಗಿದೆ. ಅಂತಹ ಸಂದರ್ಭಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಸೋಮಾರಿಗಳನ್ನು ಪತ್ತೆಹಚ್ಚುವ ಮತ್ತು ಅವರ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯನ್ನು ಮರಳಿ ಪಡೆಯುವ ವಿಶೇಷ "ರೀಪರ್" ಪ್ರಕ್ರಿಯೆಯೊಂದಿಗೆ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ, ಇದು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಗೆ ಅವರ ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿಯೋಜಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಇದಕ್ಕೆ ವಿರುದ್ಧವಾಗಿ, ಮಗುವಿನ ಪ್ರಕ್ರಿಯೆಯು ಅನಾಥ ಪ್ರಕ್ರಿಯೆಯಾಗುವ ಮೊದಲು ಅದರ ಪೋಷಕ ಪ್ರಕ್ರಿಯೆಯು ಕೊನೆಗೊಳ್ಳುತ್ತದೆ. ಅಂತಹ ಸಂದರ್ಭಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ವಿಶೇಷ "ಮೂಲ" (ಅಥವಾ "init") ಪ್ರಕ್ರಿಯೆಯೊಂದಿಗೆ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ, ಇದನ್ನು ಅದರ ಮೂಲ ಪ್ರಕ್ರಿಯೆಯು ನಿರ್ಗಮಿಸಿದಾಗ ಪ್ರಕ್ರಿಯೆಯ ಹೊಸ ಪೋಷಕ ಎಂದು ನಿಗದಿಪಡಿಸಲಾಗುತ್ತದೆ. ಈ ವಿಶೇಷ ಪ್ರಕ್ರಿಯೆಯು ಅನಾಥ ಪ್ರಕ್ರಿಯೆಯು ಯಾವಾಗ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ ಎಂಬುದನ್ನು ಪತ್ತೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ನಂತರ ಅದರ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯನ್ನು ಮರಳಿ ಪಡೆಯುತ್ತದೆ, ಇದು ಕೊನೆಗೊಂಡ ಮಗುವಿನ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಿಯೋಜಿಸಲು ವ್ಯವಸ್ಥೆಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಮಗುವಿನ ಪ್ರಕ್ರಿಯೆಯು ಸಂಕೇತವನ್ನು ಸ್ವೀಕರಿಸಿದರೆ, ಕಾಯುವ ಪೋಷಕರು ನಂತರ ಅನಾಥ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಬಿಟ್ಟು ಮರಣದಂಡನೆಯನ್ನು ಮುಂದುವರಿಸುತ್ತಾರೆ. ಆದ್ದರಿಂದ ಕೆಲವೊಮ್ಮೆ ವೇಟ್, ವೇಟ್ ಪಿಡ್ ಅಥವಾ ವೇಟಿಡ್ ಸೆಟ್ ಮಾಡಿದ ವಾದವನ್ನು ಪರಿಶೀಲಿಸುವ ಅಗತ್ಯವಿರುತ್ತದೆ ಮತ್ತು ವೈಫ್ಸಿಗ್ನೆಲ್ಡ್ ನಿಜವಾಗಿದ್ದರೆ, ಸಂಪನ್ಮೂಲಗಳನ್ನು ನಿಯೋಜಿಸಲು ಚೈಲ್ಡ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಮತ್ತೆ ನಿರೀಕ್ಷಿಸಿ. ನಿರ್ಗಮನ (ಸಿಸ್ಟಮ್ ಕರೆ) ಫೋರ್ಕ್ (ಸಿಸ್ಟಮ್ ಕರೆ) ಸ್ಪಾನ್ (ಕಂಪ್ಯೂಟಿಂಗ್) ಕಾಯಿರಿ (ಆಜ್ಞೆ) ಉಲ್ಲೇಖಗಳ ಪ್ರಕ್ರಿಯೆ (ಕಂಪ್ಯೂಟಿಂಗ್) ಸಿ ಪೋಸಿಕ್ಸ್ ಲೈಬ್ರರಿ ಸಿಸ್ಟಮ್ ಕರೆಗಳನ್ನು ಸಹ ನೋಡಿ.