Làm cách nào để lấy PID của quy trình PHP?

Tôi đang chạy một chương trình java bằng lệnh PHP "exec()", lệnh này cần được hủy thủ công tại một thời điểm nhất định. Thông thường, tôi sẽ đưa ra lệnh "pkill java", nhưng điều đó sẽ giết tất cả các trường hợp mà tôi chỉ cần một trường hợp cụ thể mà tôi đã gọi trước đó đã bị giết

 

Tôi dường như không thể tìm thấy trực tuyến nơi lấy PID, có ai biết gì không?

~Giu-đa

Liên kết để bình luận
Chia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

Liên kết để đăng
Chia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

  • Làm cách nào để lấy PID của quy trình PHP?

    • RaidenLeeChin

    • Thành viên
      • 119
      • 3

    Đăng ngày 10 tháng 12 năm 2014

    Theo những gì tôi biết, bạn cần thực hiện nhập một gói để lấy id quy trình, hầu hết đều là cách giải quyết. Dễ dàng hơn nhiều trong C

    Làm cách nào để lấy PID của quy trình PHP?

     

    http. //maxrohde. com/2012/12/13/java-get-process-id-three-approach/

     

    http. //www. wikihow. com/Get-Pid-in-Java

     

     

    http. // hệ thống hộp. com/chỉ mục. php/java-tip-find-process-id-of-running-java-process/

     

    http. //www. yêu tinh. de/p/code/javagetpid

     

    http. // stackoverflow. com/câu hỏi/35842/how-can-a-java-program-get-its-own-process-id

    ------------------------------------

         ~ Trực tiếp Tình yêu ~

    ------------------------------------

    Liên kết để bình luận
    Chia sẻ trên các trang web khác

    Nhiều tùy chọn chia sẻ hơn

    Liên kết để đăng
    Chia sẻ trên các trang web khác

    Nhiều tùy chọn chia sẻ hơn

  • Làm cách nào để lấy PID của quy trình PHP?

    • mikebald

    • Thành viên
      • 42
      • 1

    Làm cách nào để lấy PID của quy trình PHP?

    Đăng ngày 10 tháng 12 năm 2014

    • Giải pháp

    Nếu đây là máy dựa trên linux, bạn có thể sử dụng lớp do dell_petter tạo tại hotmail dot com được tìm thấy tại http. //php. net/thủ công/vi/chức năng. giám đốc điều hành. php

    [. [Phiên bản ổn định mới nhất](https. // đặt ra. pugx. org/unreal4u/pid/v/ổn định. png)](https. // người đóng gói. org/gói/unreal4u/pid) [. [Trạng thái bản dựng](https. //travis-ci. org/unreal4u/pid. png?branch=master)](https. //travis-ci. org/unreal4u/pid) [. [Chất lượng mã kiểm tra](https. //scrutinizer-ci. com/g/unreal4u/pid/huy hiệu/điểm chất lượng. png?s=250617550b830844374c830e955dfbdd31df3c11)](https. //scrutinizer-ci. com/g/unreal4u/pid/) [. [Phạm vi mã](https. //scrutinizer-ci. com/g/unreal4u/pid/huy hiệu/bảo hiểm. png?s=69f58ff3d306565bcde70c045878420f7bbdbd29)](https. //scrutinizer-ci. com/g/unreal4u/pid/) [. [Giấy phép](https. // đặt ra. pugx. org/unreal4u/pid/giấy phép. png)](https. // người đóng gói. org/gói/unreal4u/pid) pid. php ====== Tín dụng -------- Lớp này được tạo bởi unreal4u (Camilo Sperberg). [không thật4u. com/](http. // không có thật4u. com). Giới thiệu về lớp này -------- * Có thể được sử dụng để xác minh xem một quy trình đã chạy hay chưa. * Là nền tảng độc lập. Có thể được sử dụng trong Windows hoặc Linux. Trong cả hai, họ sẽ gọi các chức năng cụ thể của HĐH để tìm hiểu xem quy trình có đang chạy hay không. * Nó không phát hiện các lỗi nghiêm trọng trước đó, nhưng nó có thể bỏ qua tệp PID trước đó nếu một thời gian nhất định đã trôi qua kể từ khi tạo. Mô tả chi tiết --------- Gói này sẽ kiểm tra xem có tồn tại một tệp PID nào đó hay không và tùy thuộc vào đó sẽ. Tạo một tệp PID. Nếu nó đã tồn tại, nó sẽ yêu cầu hệ điều hành kiểm tra xem nó có còn là một tiến trình đang chạy hay không. Nếu vì bất kỳ lý do gì, HĐH vẫn cho rằng quy trình vẫn đang chạy và quá nhiều thời gian đã trôi qua, lớp có thể ghi đè lên tệp PID trước đó (Do đó bắt đầu một phiên bản mới). Khi đối tượng bị hủy, tệp PID tương ứng cũng sẽ bị xóa. Cách sử dụng cơ bản ----------
    include('src/unreal4u/pid.php');
    try {
        $pid = new unreal4u\pid();
    } catch (\Exception $e) {
        echo $e->getMessage();
    }
    
    if ($pid->isAlreadyRunning) {
        echo 'Your process is already running';
    }
    
    * `$pid->pid` sẽ hiển thị cho bạn số pid. * **Vui lòng xem các ví dụ để biết thêm tùy chọn và cách sử dụng nâng cao** * Chỉ có một lưu ý. nếu bạn định sử dụng lớp này bên trong một phương thức trong một lớp, hãy đảm bảo rằng hàm hủy được thực thi khi cần. các biến bị hủy ngay lập tức sau khi phương thức kết thúc thực thi, do đó, PID cũng sẽ bị hủy. Để đảm bảo điều này, hãy gán lớp PID cho một đối tượng bên trong lớp, theo cách đó, bất cứ khi nào đối tượng đó bị phá hủy, lớp này cũng sẽ như vậy. Composer ---------- Lớp này có hỗ trợ (tốt nhất là) cài đặt Composer. Chỉ cần thêm phần sau vào trình soạn nhạc của bạn. json với.
    {
        "require": {
            "unreal4u/pid": "@stable"
        }
    }
    
    Bây giờ bạn có thể khởi tạo một lớp pid mới bằng cách thực thi.
    require('vendor/autoload.php');
    
    try {
        $pid = new unreal4u\pid();
    } catch (\Exception $e) {
        // Do something
    }
    
    Đang chờ xử lý --------- * Phạm vi mã tốt hơn (kỹ lưỡng hơn) trong các bài kiểm tra PHPUnit. * Kiểm tra kỹ lớp này trên máy windows, nhiều cải tiến UNIX đã được thực hiện trong thời gian chờ đợi. Lịch sử Phiên bản ---------- * 1. 0. * Phiên bản ban đầu * 1. 1. * Hỗ trợ kiểm tra Windows PID * 1. 3. * Thử nghiệm PHPUnit * Tài liệu được cải thiện (Thực tế đã tạo README này) * Thêm ví dụ * 1. 3. 1. * Tập lệnh hiện tự đặt thời gian thực thi tối đa * 1. 4. 0. * Lớp hiện tương thích với nhà soạn nhạc * 1. 4. 2. * Tài liệu tốt hơn * Bảo hiểm mã tốt hơn * 1. 4. 5. * Hỗ trợ Travis-CI * Bắt đầu ngừng sử dụng tiêu chuẩn viết mã cũ * 2. 0. 0. * Thị trưởng viết lại chức năng cơ bản của lớp * Các biến hiện có thể được truyền dưới dạng một mảng thay vì theo từng biến * Lớp hiện đưa ra (thêm) ngoại lệ khi xảy ra sự cố * Nhiều thử nghiệm hơn về chức năng mới * Thay đổi khả năng tương thích ngược. * Lớp bây giờ sẽ đưa ra các ngoại lệ khi nó bị lỗi ở một số phần thay vì bị lỗi âm thầm * Chức năng getTSpidFile() được đổi tên thành getTimestampPidFile() Liên hệ với tác giả ------- * Twitter. [@unreal4u](http. //twitter. com/unreal4u) * Trang web. [http. // không có thật4u. com/](http. // không có thật4u. com/) * Github. [http. //www. github. com/unreal4u](http. //www. github. com/unreal4u) * Nhà đóng gói. [https. // người đóng gói. tổ chức/người dùng/unreal4u/]