دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
دانشنامه مارال هاست دانشنامه مارال هاست
دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
کنترل پنل پلسک (Plesk)
  • Folder icon closed Folder open iconمقدمه‌ای بر Plesk
  • Folder icon closed Folder open iconریستور بکاپ پلسک از طریق Backup Manager
  • Folder icon closed Folder open iconنحوه ایجاد ادان دامنه در پلسک
  • Folder icon closed Folder open iconایجاد Task Schedule در پلسک
  • Folder icon closed Folder open iconنصب گواهینامه SSL بر روی hostname پلسک
  • Folder icon closed Folder open iconتغییر نام دامنه‌ی اصلی در پلسک (Plesk)
  • Folder icon closed Folder open iconبررسی فضای مصرفی دیسک در پلسک (Plesk)
  • Folder icon closed Folder open iconپورت‌های مورد استفاده در Plesk
  • Folder icon closed Folder open iconتغییر نام میزبان (Host Name) سرور در Plesk
  • Folder icon closed Folder open iconانتقال دایرکتوری Virtual Hosts در Plesk
  • Folder icon closed Folder open iconانتقال دایرکتوری ذخیره‌سازی بکاپ‌های Plesk
  • Folder icon closed Folder open iconانتقال دایرکتوری‌های ذخیره‌سازی داده‌های ایمیل در Plesk
  • Folder icon closed Folder open iconفعال‌سازی FTPS غیرمستقیم(Implicit FTPS) در IIS
  • Folder icon closed Folder open iconبرنامه‌نویسی Event Handler ها برای اجرای اسکریپت‌های سفارشی در Plesk
  • Folder icon closed Folder open iconخودکارسازی وظایف مدیریتی با ابزارهای خط فرمان در Plesk
  • Folder icon closed Folder open iconنظارت بر وضعیت سرویس‌های سیستم در Plesk
  • Folder icon closed Folder open iconمدیریت سرویس‌ها از طریق خط فرمان و مشاهده فایل‌های لاگ در Plesk
  • Folder icon closed Folder open iconپیش‌تعریف مقادیر برای پارامترهای قابل تنظیم PHP در Plesk
  • Folder icon closed Folder open iconاپلیکیشن‌های وب و مدیریت آنها در Plesk
  • Folder icon closed Folder open iconحفاظت در برابر اسپم با استفاده از SpamAssassin
  • Folder icon closed Folder open iconپیکربندی SpamAssassin در Plesk
  • Folder icon closed Folder open iconبهینه‌سازی عملکرد Task Manager در Plesk
  • Folder icon closed Folder open iconحذف Plesk از سیستم
  • Folder icon closed Folder open iconبررسی Web Deploy 3.0 و نصب آن روی Plesk
  • Folder icon closed Folder open iconپشتیبان‌گیری از داده‌ها در Plesk بصورت دستور
  • Folder icon closed Folder open iconسلسله مراتب بک آپ گیری و حجم در Plesk
  • Folder icon closed Folder open iconتعیین داده‌ها برای بک آپ گیری در Plesk
  • Folder icon closed Folder open iconتنظیمات فایل‌هایی که در بکاپ Plesk قرار می‌گیرند
  • Folder icon closed Folder open iconخروجی گرفتن (Exporting) فایل‌های بکاپ در Plesk
  • Folder icon closed Folder open iconتعریف نحوه اجرای فرآیند بکاپ در Plesk
  • Folder icon closed Folder open iconبازیابی داده‌ها در Plesk
  • Folder icon closed Folder open iconتعریف اشیاء برای ریستور (Defining Objects for Restoration)
  • Folder icon closed Folder open iconساختار پیش‌فرض پوشه بکاپ در Plesk
  • Folder icon closed Folder open iconنحوه اجرای فرآیند بازیابی در Plesk
  • Folder icon closed Folder open iconقوانین و سیاست‌های Conflict در Plesk
  • Folder icon closed Folder open iconپیام‌های توضیح Conflict در Plesk
  • Folder icon closed Folder open iconتغییر تنظیمات امنیتی برای اشیای سیستم فایل و حساب‌های کاربری در Plesk
  • Folder icon closed Folder open iconسیاست‌های امنیتی Plesk
  • Folder icon closed Folder open iconحساب‌های ویندوزی که توسط Plesk برای مدیریت اشیای هاست‌شده ویندوز استفاده می‌شوند
  • Folder icon closed Folder open iconمدیریت امنیت اشیای ویندوز در سرور توسط Plesk
  • Folder icon closed Folder open iconمرور تنظیمات امنیتی اشیای ویندوز از طریق Plesk GUI
  • Folder icon closed Folder open iconفایل‌ها و قالب‌های امنیتی در Plesk
  • Folder icon closed Folder open iconقالب‌های فایل metadata امنیتی هاستینگ در Plesk
  • Folder icon closed Folder open iconسفارشی‌سازی امنیت دیسک در Plesk
  • Folder icon closed Folder open iconپورت‌های استفاده‌شده توسط Plesk
  • Folder icon closed Folder open iconمحاسبه آمار در Plesk
  • Folder icon closed Folder open iconفایل‌های لاگ و چرخش آن‌ها (Log Files and Log Rotation) در Plesk
  • Folder icon closed Folder open iconلاگین خودکار به Plesk
  • Folder icon closed Folder open iconثبت سرویس‌های اضافی به اعلان‌های Plesk
  • Folder icon closed Folder open iconآماده‌سازی یک سرویس برای ثبت‌ در Plesk
  • Folder icon closed Folder open iconثبت یک سرویس در Plesk notifications
  • Folder icon closed Folder open iconعیب‌یابی در Plesk
  • Folder icon closed Folder open iconمدیریت آی‌پی‌ها در Plesk
  • Folder icon closed Folder open iconبازنویسی آی پی ها در Plesk
  • Folder icon closed Folder open iconمحدود کردن دسترسی مدیریتی در Plesk
  • Folder icon closed Folder open iconتنظیم سیاست قدرت رمز عبور در Plesk
  • Folder icon closed Folder open iconنحوه ورود به Plesk
  • Folder icon closed Folder open iconمروری بر رابط کاربری Plesk
  • Folder icon closed Folder open iconراه‌اندازی وب سایت در Plesk
  • Folder icon closed Folder open iconساخت ایمیل در Plesk
  • Folder icon closed Folder open iconمشاهده آمار بازدید سایت در Plesk
  • Folder icon closed Folder open iconآموزش کامل شناسایی و توقف Scheduled Taskهای حذف‌شده در Plesk ویندوز؛ بررسی Taskهای مخفی و Processهای در حال اجرا
کنترل پنل پلسک (Plesk)

آموزش کامل شناسایی و توقف Scheduled Taskهای حذف‌شده در Plesk ویندوز؛ بررسی Taskهای مخفی و Processهای در حال اجرا

آموزش کامل شناسایی و توقف Scheduled Taskهای حذف‌شده در Plesk ویندوز؛ بررسی Taskهای مخفی و Processهای در حال اجرا

مقدمه

در سرورهای Windows Server که روی آن‌ها Plesk نصب شده است، ممکن است یک Scheduled Task ایجاد شده باشد که یک فایل PHP را به‌صورت دوره‌ای اجرا کند. در برخی شرایط، حتی پس از حذف فایل PHP، حذف Subdomain یا حذف تنظیمات مربوط به سایت، اجرای Task یا Process مربوط به آن همچنان ادامه پیدا می‌کند.

برای مثال، ممکن است یک فایل مانند:

khati_runner.php

برای یک Subdomain مانند:

runner.example.com

ایجاد شده و از طریق Scheduled Tasks به‌صورت دوره‌ای اجرا شود. اگر فایل و حتی Subdomain حذف شوند، این موضوع لزوماً به معنی متوقف شدن یک Process از قبل اجراشده یا حذف شدن Scheduled Task از Windows Task Scheduler نیست.

در این آموزش روش پیدا کردن Process مربوط به فایل PHP، شناسایی Scheduled Task، بررسی Actionهای Task و متوقف کردن اجرای باقی‌مانده را بررسی می‌کنیم.


سناریوی مشکل

فرض کنید روی یک Windows Server دارای Plesk، یک Subdomain ایجاد کرده‌ایم:

runner.isadid.ir

و در مسیر سایت فایل زیر قرار گرفته است:

khati_runner.php

برای اجرای دوره‌ای این فایل نیز یک Scheduled Task در Plesk ایجاد شده است.

بعد از مدتی:

runner.isadid.ir

حذف می‌شود.

همچنین فایل:

khati_runner.php

نیز حذف می‌شود.

اما همچنان تصور می‌شود که Script در Background اجرا می‌شود.

در چنین شرایطی نباید فقط وجود فایل یا Subdomain را بررسی کنیم؛ باید مشخص کنیم آیا:

  1. یک Scheduled Task هنوز وجود دارد.
  2. یک Process قبلی هنوز در حال اجراست.
  3. Task در Windows Task Scheduler باقی مانده است.
  4. Task با نام متفاوتی ثبت شده و در Plesk به‌راحتی قابل تشخیص نیست.

پیش‌نیازها

برای بررسی این مشکل به موارد زیر نیاز دارید:

  • دسترسی Administrator به Windows Server
  • دسترسی به Plesk
  • دسترسی به PowerShell یا CMD
  • دسترسی به Windows Task Scheduler
  • اطلاع از نام فایل یا بخشی از مسیر Script

در این مثال نام فایل:

khati_runner.php

است.


بررسی Processهای PHP در حال اجرا

اولین مرحله این است که بررسی کنیم آیا خود فایل PHP هنوز توسط یک Process در حال اجراست یا خیر.

PowerShell را با دسترسی Administrator باز کنید.

سپس:

Get-CimInstance Win32_Process |
Where-Object {
    $_.Name -match 'php|php-cgi|php-fpm|cmd|powershell'
} |
Select-Object ProcessId, ParentProcessId, Name, CommandLine |
Format-List

این دستور Processهای مرتبط با PHP و برخی Processهای اجرایی دیگر را نمایش می‌دهد.

اطلاعاتی مانند موارد زیر قابل مشاهده خواهد بود:

ProcessId
ParentProcessId
Name
CommandLine

مهم‌ترین بخش در این مرحله:

CommandLine

است.

زیرا ممکن است نام Process فقط:

php.exe

باشد و از روی نام آن نتوان فهمید چه Scriptی در حال اجراست.


جستجوی مستقیم khati_runner.php

اگر نام فایل را می‌دانید، بهتر است مستقیماً آن را در Command Line Processها جستجو کنید:

Get-CimInstance Win32_Process |
Where-Object {
    $_.CommandLine -match 'khati_runner'
} |
Select-Object ProcessId, ParentProcessId, Name, CommandLine

اگر Script در حال اجرا باشد، ممکن است خروجی مشابه زیر مشاهده شود:

ProcessId       : 1234
ParentProcessId : 5678
Name            : php.exe
CommandLine     : ...\php.exe ...\khati_runner.php

این خروجی نشان می‌دهد که فایل khati_runner.php هنوز توسط یک Process در حال اجراست.


بررسی Parent Process

قبل از متوقف کردن Process، بهتر است Parent Process آن را نیز بررسی کنید.

فرض کنید PID مربوط به PHP برابر است با:

1234

و Parent PID برابر است با:

5678

برای بررسی Parent Process:

Get-CimInstance Win32_Process -Filter "ProcessId=5678" |
Select-Object ProcessId, Name, CommandLine

این بررسی اهمیت دارد؛ زیرا ممکن است Process مربوط به PHP توسط یک Task، cmd.exe یا Process دیگری اجرا شده باشد.


متوقف کردن Process

اگر مطمئن شدید Process مربوط به همان Script است، می‌توانید آن را متوقف کنید:

Stop-Process -Id 1234 -Force

به جای 1234 باید PID واقعی Process را قرار دهید.

پس از آن دوباره بررسی کنید:

Get-CimInstance Win32_Process |
Where-Object {
    $_.CommandLine -match 'khati_runner'
} |
Select-Object ProcessId, ParentProcessId, Name, CommandLine

اگر خروجی نداشت، Process مربوط به Script دیگر در حال اجرا نیست.

هشدار: از اجرای Stop-Process روی Processهای عمومی PHP بدون بررسی CommandLine خودداری کنید؛ ممکن است Process مربوط به سایت‌های دیگر روی همان سرور باشد.


بررسی Windows Task Scheduler

حتی اگر Process متوقف شود، باید مشخص کنیم آیا Scheduled Task همچنان وجود دارد یا خیر.

در Windows Server ابزار Task Scheduler را اجرا کنید:

taskschd.msc

یا:

Win + R

سپس:

taskschd.msc

را وارد کنید.

در پنجره Task Scheduler بخش:

Task Scheduler Library

را بررسی کنید.

در این قسمت ممکن است Task مربوط به Plesk یا Taskهای ایجادشده توسط کاربران وجود داشته باشد.


جستجوی Taskهای Plesk

در Task Scheduler فقط به نام khati_runner.php اکتفا نکنید.

ممکن است نام Task با نام فایل PHP یکسان نباشد.

برای مثال ممکن است Task نامی مانند:

Task_12345

داشته باشد، اما Action آن فایل زیر را اجرا کند:

khati_runner.php

بنابراین باید بخش Actions مربوط به Task را نیز بررسی کنید.


بررسی Action یک Scheduled Task

روی Task موردنظر کلیک کنید و وارد تب:

Actions

شوید.

در این قسمت معمولاً مواردی مانند زیر مشاهده می‌شود:

Program/script:
php.exe

و در بخش Arguments ممکن است مسیر Script قرار گرفته باشد:

C:\...\khati_runner.php

بنابراین برای شناسایی Task واقعی، Action و Arguments اهمیت بیشتری از نام Task دارند.


جستجوی Taskها با PowerShell

برای مشاهده Taskهای موجود در Windows:

Get-ScheduledTask |
Select-Object TaskName, TaskPath, State

این دستور نام، مسیر و وضعیت Taskها را نمایش می‌دهد.


جستجوی Taskهای مرتبط با khati یا runner

اگر نام Task را نمی‌دانید، می‌توانید نام Task و مسیر آن را جستجو کنید:

Get-ScheduledTask |
Where-Object {
    $_.TaskName -match 'khati|runner' -or
    $_.TaskPath -match 'khati|runner'
} |
Select-Object TaskName, TaskPath, State

اما این روش ممکن است Task را پیدا نکند؛ زیرا احتمال دارد khati_runner.php فقط در Arguments قرار داشته باشد.

برای همین بهتر است Actionها نیز بررسی شوند.


جستجوی فایل PHP در Actionهای تمام Taskها

برای پیدا کردن Taskی که khati_runner.php را اجرا می‌کند:

Get-ScheduledTask |
ForEach-Object {
    $task = $_

    foreach ($action in $task.Actions) {
        if (
            $action.Execute -match 'khati|php' -or
            $action.Arguments -match 'khati|runner'
        ) {
            [PSCustomObject]@{
                TaskName  = $task.TaskName
                TaskPath  = $task.TaskPath
                Execute   = $action.Execute
                Arguments = $action.Arguments
                State     = $task.State
            }
        }
    }
}

این روش یکی از کاربردی‌ترین روش‌ها برای زمانی است که نام واقعی Scheduled Task مشخص نیست.

ممکن است خروجی چیزی شبیه این باشد:

TaskName  : Task_12345
TaskPath  : \
Execute   : C:\Program Files\...\php.exe
Arguments : "C:\...\khati_runner.php"
State     : Ready

در این حالت مشخص می‌شود که Task موردنظر هنوز در Windows ثبت شده است.


مشاهده Taskهایی که اخیراً اجرا شده‌اند

اگر نام Task را نمی‌دانید، می‌توانید Taskهایی که اخیراً اجرا شده‌اند را بررسی کنید:

Get-ScheduledTask |
ForEach-Object {
    $task = $_
    $info = $task | Get-ScheduledTaskInfo

    [PSCustomObject]@{
        TaskName = $task.TaskName
        TaskPath = $task.TaskPath
        State    = $task.State
        LastRun  = $info.LastRunTime
        NextRun  = $info.NextRunTime
        Result   = $info.LastTaskResult
    }
} |
Sort-Object LastRun -Descending |
Select-Object -First 50

این دستور ۵۰ Task با آخرین زمان اجرای آن‌ها را نمایش می‌دهد.

اگر Script موردنظر مثلاً هر ۵ دقیقه اجرا می‌شده باشد، می‌توان با بررسی LastRun و NextRun Task مشکوک را پیدا کرد.


بررسی وضعیت Task

هر Task ممکن است وضعیت‌هایی مانند زیر داشته باشد:

Ready
Running
Disabled

اگر Task در وضعیت:

Running

باشد، یعنی در حال حاضر یک اجرای فعال دارد.

در رابط گرافیکی Task Scheduler نیز می‌توانید وضعیت Task را بررسی کنید.


متوقف کردن Scheduled Task

اگر Task را پیدا کردید و مطمئن شدید مربوط به Script حذف‌شده است، ابتدا می‌توانید آن را متوقف کنید.

در PowerShell:

Stop-ScheduledTask -TaskName "Task_12345"

اگر Task در مسیر خاصی قرار دارد:

Stop-ScheduledTask `
-TaskName "Task_12345" `
-TaskPath "\Plesk\"

نام و مسیر واقعی Task را جایگزین کنید.


حذف Scheduled Task

اگر مطمئن هستید Task دیگر موردنیاز نیست، می‌توانید آن را حذف کنید:

Unregister-ScheduledTask `
-TaskName "Task_12345" `
-Confirm:$false

هشدار: قبل از حذف Task، حتماً TaskName، TaskPath و Actions را بررسی کنید. حذف اشتباه یک Task می‌تواند اجرای خودکار سرویس یا سایت دیگری را متوقف کند.


بررسی History در Task Scheduler

برای بررسی دقیق‌تر Task، در رابط گرافیکی روی آن کلیک کنید و تب:

History

را باز کنید.

اگر History فعال باشد، می‌توانید رویدادهایی مانند:

Task Started
Action Started
Action Completed
Task Completed

را مشاهده کنید.

این اطلاعات برای تشخیص اینکه Task چه زمانی اجرا شده و چه Actionای را اجرا کرده است مفید هستند.


بررسی Scheduled Task در Plesk

در Plesk نیز باید Scheduled Taskهای مربوط به Subscription یا Website را بررسی کنید.

بسته به ساختار Plesk و سطح دسترسی، بخش‌های مربوط به Scheduled Tasks را بررسی کنید.

اگر Task در رابط Plesk دیده نشد، این موضوع لزوماً به معنی نبودن Task در Windows نیست.

در چنین شرایطی بررسی مستقیم:

Windows Task Scheduler

اهمیت بیشتری پیدا می‌کند.


چرا حذف فایل PHP باعث توقف اجرای Task نمی‌شود؟

Scheduled Task معمولاً یک تعریف زمان‌بندی‌شده است که به یک Command یا Script اشاره می‌کند.

برای مثال:

Scheduled Task
      ↓
php.exe
      ↓
khati_runner.php

اگر فایل:

khati_runner.php

حذف شود، Task لزوماً خودکار حذف نمی‌شود.

در اجرای بعدی ممکن است Task تلاش کند همان فایل را اجرا کند و با خطا مواجه شود.

از طرف دیگر، اگر Script قبل از حذف فایل وارد یک اجرای طولانی یا Loop شده باشد، Process قبلی ممکن است همچنان در حافظه باقی بماند.

بنابراین دو موضوع مستقل وجود دارد:

Scheduled Task

و:

Running Process

حذف یکی الزاماً دیگری را متوقف نمی‌کند.


تفاوت Scheduled Task و Process

این دو مفهوم را باید از یکدیگر تفکیک کرد.

Scheduled Task

تعریف می‌کند:

چه چیزی؟
چه زمانی؟
با چه Commandای؟

اجرا شود.

Process

نمونه‌ای از برنامه است که همین الان در حال اجراست.

برای مثال:

Scheduled Task
       ↓
php.exe
       ↓
khati_runner.php
       ↓
Process ID: 1234

اگر Task را حذف کنید ولی php.exe قبلاً اجرا شده باشد، ممکن است Process همچنان تا پایان اجرای Script فعال بماند.


خطاهای رایج

فایل PHP حذف شده ولی Task همچنان وجود دارد

حذف فایل به معنی حذف Scheduled Task نیست.

Task Scheduler را بررسی کنید.


نام khati_runner در Task Scheduler پیدا نمی‌شود

ممکن است نام Task متفاوت باشد.

به جای نام Task، بخش:

Actions

و مقدار:

Arguments

را بررسی کنید.


Plesk Task را نشان نمی‌دهد

در این حالت Windows Task Scheduler را مستقیماً بررسی کنید.

همچنین بررسی کنید Task در سطح دیگری از Subscription ایجاد نشده باشد.


فایل حذف شده ولی PHP همچنان در حال اجراست

Processهای PHP را بررسی کنید:

Get-CimInstance Win32_Process |
Where-Object {
    $_.CommandLine -match 'khati_runner'
} |
Select-Object ProcessId, ParentProcessId, Name, CommandLine

Task در وضعیت Running است

ابتدا Action و Process مربوط به آن را بررسی کنید و در صورت اطمینان:

Stop-ScheduledTask -TaskName "Task_12345"

را اجرا کنید.


بهترین روش‌های عیب‌یابی

  • قبل از حذف Process، CommandLine آن را بررسی کنید.
  • فقط بر اساس نام php.exe Process را متوقف نکنید.
  • Task را بر اساس Action و Arguments شناسایی کنید.
  • قبل از حذف Scheduled Task، TaskPath و TaskName را بررسی کنید.
  • حذف Subdomain را معادل حذف Scheduled Task در نظر نگیرید.
  • حذف فایل PHP را معادل توقف Process در نظر نگیرید.
  • برای Taskهای ناشناس، LastRunTime و NextRunTime را بررسی کنید.
  • در سرورهای Production، قبل از حذف Task مطمئن شوید به سایت یا سرویس دیگری وابسته نیست.

اشتباهات رایج

  • Kill کردن تمام Processهای php.exe
  • حذف تصادفی Taskهای Plesk
  • جستجو فقط بر اساس نام فایل PHP
  • فرض کردن اینکه حذف Subdomain، Task را نیز حذف می‌کند
  • فرض کردن اینکه حذف Script، Process در حال اجرا را متوقف می‌کند
  • حذف Task بدون بررسی Actions
  • حذف مستقیم اطلاعات Plesk یا Windows بدون شناسایی Task
  • بررسی نکردن Parent Process

چک‌لیست

پس از مطالعه این مقاله باید بتوانید:

  • Process مربوط به یک فایل PHP را پیدا کنید.
  • PID و Parent PID یک Process را بررسی کنید.
  • Scheduled Taskهای Windows Server را مشاهده کنید.
  • Taskهای Plesk را در Windows Task Scheduler بررسی کنید.
  • Action و Arguments یک Task را مشاهده کنید.
  • Taskهای ناشناس را با PowerShell جستجو کنید.
  • Taskهایی که اخیراً اجرا شده‌اند را شناسایی کنید.
  • یک Task در حال اجرا را متوقف کنید.
  • Process باقی‌مانده PHP را متوقف کنید.
  • تفاوت بین Scheduled Task و Running Process را تشخیص دهید.

مقالات مرتبط

  • آموزش کامل کار با PowerShell در Windows Server
  • آموزش مدیریت Processها در Windows Server
  • آموزش Task Scheduler در Windows Server
  • آموزش مدیریت سرویس‌ها در Windows Server
  • آموزش مدیریت PHP در Plesk
  • آموزش مدیریت دامنه و Subdomain در Plesk
  • آموزش بررسی مصرف CPU در Windows Server
  • آموزش بررسی مصرف RAM در Windows Server

مطالعات بیشتر و منابع رسمی

برای مطالعه بیشتر می‌توانید مستندات رسمی Microsoft و Plesk را درباره Task Scheduler و Scheduled Tasks بررسی کنید.

  • مستندات Windows Task Scheduler
  • مستندات PowerShell ScheduledTasks
  • مستندات Plesk Scheduled Tasks
  • مستندات Plesk Command-Line Utilities

جمع‌بندی

اگر یک Scheduled Task در Plesk برای اجرای یک فایل PHP ایجاد شده باشد، حذف فایل PHP یا حتی حذف Subdomain لزوماً باعث توقف Process قبلی یا حذف Scheduled Task از Windows Server نمی‌شود.

برای عیب‌یابی چنین شرایطی ابتدا باید مشخص شود که آیا یک Process فعال وجود دارد یا یک Scheduled Task همچنان در Windows ثبت شده است. برای پیدا کردن Process می‌توان از Get-CimInstance Win32_Process و برای شناسایی Scheduled Taskها از Get-ScheduledTask استفاده کرد.

در صورتی که نام Task مشخص نباشد، بررسی Actions و Arguments اهمیت زیادی دارد؛ زیرا ممکن است Task با نامی متفاوت ثبت شده باشد اما همچنان php.exe را برای اجرای khati_runner.php فراخوانی کند.

در نهایت، با تفکیک صحیح میان Scheduled Task و Running Process می‌توان بدون ایجاد اختلال در سایر سایت‌ها و سرویس‌های موجود روی سرور، Task یا Process باقی‌مانده را شناسایی و متوقف کرد.

هنوز نیاز به کمک دارید؟

آیا سوالی دارید؟

آیا این مقاله برای شما مفید بود؟ بله خیر

نظرات خود را بنویسید... لغو پاسخ

اشتراک گذاری این مقاله

آموزش کامل شناسایی و توقف Scheduled Taskهای حذف‌شده در Plesk ویندوز؛ بررسی Taskهای مخفی و Processهای در حال اجرا

کپی کردن لینک

Clipboard Icon

جدیدترین مقالات

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی ...
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

تقویم

سپتامبر 2026
شیدسچپج
 1234
567891011
12131415161718
19202122232425
2627282930 
« جولای    

عضویت

جدیدترین پست‌ها

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی Ubuntu 24.04
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

سلام