.\" -*- coding: UTF-8 -*- .\" Copyright 1992, Drew Eckhardt .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH الأوقات 2 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم times \- الحصول على أزمنة العملية .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBclock_t times(struct tms *\fP\fIbuf\fP\fB);\fP .fi .SH الوصف تخزن \fBtimes\fP() أزمنة العملية الحالية في \fIstruct tms\fP الذي يشير إليه \fIbuf\fP. يُعرّف \fIstruct tms\fP كما في \fI\fP: .P .in +4n .EX struct tms { clock_t tms_utime; /* زمن المستخدم */ clock_t tms_stime; /* زمن النظام */ clock_t tms_cutime; /* زمن المستخدم للعمليات الابنة */ clock_t tms_cstime; /* زمن النظام للعمليات الابنة */ }; .EE .in .P يحتوي الحقل \fItms_utime\fP على زمن وحدة المعالجة المركزية (CPU) المنفق في تنفيذ تعليمات العملية المستدعية. يحتوي الحقل \fItms_stime\fP على زمن CPU المنفق في التنفيذ داخل النواة أثناء أداء مهام نيابة عن العملية المستدعية. .P يحتوي الحقل \fItms_cutime\fP على مجموع قيم \fItms_utime\fP و \fItms_cutime\fP لجميع العمليات الابنة المنتهية التي انتظرتها العملية. يحتوي الحقل \fItms_cstime\fP على مجموع قيم \fItms_stime\fP و \fItms_cstime\fP لجميع العمليات الابنة المنتهية التي انتظرتها العملية. .P تُضاف أزمنة العمليات الابنة المنتهية (وسلالاتها) في اللحظة التي يُرجع فيها \fBwait\fP(2) أو \fBwaitpid\fP(2) معرف العملية الخاص بها. على وجه الخصوص، لا تُرى أبدًا أزمنة الأحفاد الذين لم تنتظرهم العمليات الابنة. .P جميع الأزمنة المبلغ عنها تكون بوحدات النبضات (clock ticks). .SH "قيمة الإرجاع" تُرجع \fBtimes\fP() عدد النبضات التي انقضت منذ نقطة عشوائية في الماضي. قد تفيض القيمة المُرجعة عن النطاق الممكن للنوع \fIclock_t\fP. عند حدوث خطأ، تُرجع \fI(clock_t)\ \-1\fP، ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEFAULT\fP يشير \fItms\fP إلى خارج مساحة عنوان العملية. .SH الإصدارات في لينكس، يمكن تحديد الوسيط \fIbuf\fP كقيمة NULL، مما يؤدي إلى أن \fBtimes\fP() تُرجع فقط نتيجة الدالة. ومع ذلك، لا يحدد POSIX هذا السلوك، وتتطلب معظم تطبيقات UNIX الأخرى قيمة غير NULL لـ \fIbuf\fP. .SH المعايير POSIX.1\-2024. .SH التاريخ POSIX.1\-2001، SVr4، 4.3BSD. .P في POSIX.1\-1996، يُذكر الرمز \fBCLK_TCK\fP (المُعرّف في \fI\fP) كمهمل. وهو مهمل الآن. .P .\" See the description of times() in XSH, which says: .\" The times of a terminated child process are included [...] when wait() .\" or waitpid() returns the process ID of this terminated child. قبل لينكس 2.6.9، إذا ضُبط تصرف \fBSIGCHLD\fP على \fBSIG_IGN\fP، فإن أزمنة العمليات الابنة المنتهية تُضمّن آليًا في الحقلين \fItms_cstime\fP و \fItms_cutime\fP، على الرغم من أن POSIX.1\-2001 ينص على أن هذا يجب أن يحدث فقط إذا استخدمت العملية المستدعية \fBwait\fP(2) على أبنائها. صُحح هذا عدم الامتثال في لينكس 2.6.9 والإصدارات الأحدث. .P .\" .P .\" On older systems the number of clock ticks per second is given .\" by the variable HZ. في لينكس، تختلف \[lq]النقطة العشوائية في الماضي\[rq] التي يُقاس منها القيمة المُرجعة لـ \fBtimes\fP() عبر إصدارات النواة. في لينكس 2.4 والإصدارات الأقدم، هذه النقطة هي لحظة إقلاع النظام. منذ لينكس 2.6، هذه النقطة هي \fI(2\[ha]32/HZ) \- 300\fP ثانية قبل وقت إقلاع النظام. هذا التباين عبر إصدارات النواة (وعبر تطبيقات UNIX)، بالإضافة إلى حقيقة أن القيمة المُرجعة قد تفيض عن نطاق \fIclock_t\fP، يعني أن التطبيق المحمول سيكون من الحكمة تجنب استخدام هذه القيمة. لقياس التغييرات في الوقت المنقضي، استخدم \fBclock_gettime\fP(2) بدلاً من ذلك. .P تُرجع SVr1\-3 النوع \fIlong\fP وأعضاء الهيكل من النوع \fItime_t\fP على الرغم من أنها تخزن نبضات، وليس ثوانٍ منذ العصر (Epoch). استخدم V7 النوع \fIlong\fP لأعضاء الهيكل، لأنه لم يكن لديه النوع \fItime_t\fP بعد. .SH ملاحظات يمكن الحصول على عدد النبضات في الثانية باستخدام: .P .in +4n .EX sysconf(_SC_CLK_TCK); .EE .in .P لاحظ أن \fBclock\fP(3) تُرجع أيضًا قيمة من النوع \fIclock_t\fP، ولكن هذه القيمة تُقاس بوحدات \fBCLOCKS_PER_SEC\fP، وليس النبضات التي تستخدمها \fBtimes\fP(). .SH العلل .\" The problem is that a syscall return of -4095 to -1 .\" is interpreted by glibc as an error, and the wrapper converts .\" the return value to -1. .\" http://marc.info/?l=linux-kernel&m=119447727031225&w=2 .\" "compat_sys_times() bogus until jiffies >= 0" .\" November 2007 يعني قيد في اصطلاحات استدعاءات نظام لينكس على بعض البنى (خاصة i386) أنه على لينكس 2.6 توجد نافذة زمنية صغيرة (41 ثانية) بعد الإقلاع مباشرة حيث يمكن لـ \fBtimes\fP() أن تُرجع \-1، مما يشير خطأً إلى حدوث خطأ. يمكن أن تحدث نفس المشكلة عندما تلف القيمة المُرجعة متجاوزة القيمة القصوى التي يمكن تخزينها في \fBclock_t\fP. .SH "انظر أيضًا" \fBtime\fP(1), \fBgetrusage\fP(2), \fBwait\fP(2), \fBclock\fP(3), \fBsysconf\fP(3), \fBtime\fP(7) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .