IP Library Patent Application 15941652
Patent Application
App. No. 15/941,652

FLEXIBLE COMMAND LINE INTERFACE REDIRECTION

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
15/941,652
Abstract

Systems, methods, apparatus, and computer-readable medium are described for executing a foreground bound process with characteristics similar to a background process. In certain implementations, a code wrapper is executed before and/or after the foreground bound process is invoked that dissociates the process input/output with the standard input/output provided by the operating system and redirects the input/output such that the foreground process no longer blocks the input/output and another process can interact with the foreground bound process.

Claims (34)

1 . A method, comprising:

closing a standard input comprising a first file descriptor, wherein closing the standard input releases the first file descriptor;

assigning the first file descriptor to a first named pipe for receiving input from the first named pipe instead of the standard input;

closing a standard output comprising a second file descriptor, wherein closing the standard output releases the second file descriptor;

assigning the second file descriptor to a second named pipe for providing output previously directed to the standard output; and

starting a process, wherein input is received from the first named pipe and output is provided to the second named pipe.

2 . The method of claim 1 , further comprising sending data from the second named pipe to a third named pipe and a console at which the process was initiated.

3 . The method of claim 1 , wherein the process is a software development kit.

4 . The method of claim 1 , wherein the process is a foreground bound process.

5 . The method of claim 1 , wherein the method receives a first input from a client using the first named pipe that is then used by the process and the process provides a first output to the client using the second named pipe.

6 . The method of claim 1 , wherein assigning the first file descriptor to a first named pipe comprises opening the first named pipe immediately after closing the standard input, wherein opening of the first named pipe assigns the lowest available file descriptor to the first named pipe, and wherein the first file descriptor is “0.”

7 . The method of claim 1 , wherein assigning the second file descriptor to a second named pipe comprises opening the second named pipe immediately after closing the standard output, wherein opening of the second named pipe assigns the lowest available file descriptor to the second named pipe, and wherein the second file descriptor is “1.”

8 . The method of claim 1 , wherein the first named pipe is a first first in first out (FIFO) buffer and the second named pipe is a second FIFO buffer.

9 . The method of claim 1 , wherein the method is performed by a server process executing on a network device.

10 . A non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium comprises instructions executable by a processor, the instructions comprising instructions to:

close a standard input comprising a first file descriptor, wherein closing the standard input releases the first file descriptor;

assign the first file descriptor to a first named pipe for receiving input from the first named pipe instead of the standard input;

close a standard output comprising a second file descriptor, wherein closing the standard output releases the second file descriptor;

assign the second file descriptor to a second named pipe for providing output previously directed to the standard output; and

start a process, wherein input is received from the first named pipe and output is provided to the second named pipe.

11 . The non-transitory computer-readable medium of claim 10 , further comprising instructions to send data from the second named pipe to a third named pipe and a console at which the process was initiated.

12 . The non-transitory computer-readable medium of claim 10 , wherein the process is a software development kit.

13 . The non-transitory computer-readable medium of claim 10 , wherein the process is a foreground bound process.

14 . The non-transitory computer-readable medium of claim 10 , wherein assigning the first file descriptor to a first named pipe comprises opening the first named pipe immediately after closing the standard input, wherein opening of the first named pipe assigns the lowest available file descriptor to the first named pipe, and wherein the first file descriptor is “0.”

15 . The non-transitory computer-readable medium of claim 10 , wherein assigning the second file descriptor to a second named pipe comprises opening the second named pipe immediately after closing the standard output, wherein opening of the second named pipe assigns the lowest available file descriptor to the second named pipe, and wherein the second file descriptor is “1.”

16 . The non-transitory computer-readable medium of claim 10 , wherein the first named pipe is a first first in first out (FIFO) buffer and the second named pipe is a second FIFO buffer.

17 . A method for interacting with a server process, comprising:

creating a first named pipe and a second named pipe;

providing a first input to the server process using the first named pipe;

receiving a second output from the server process using the second named pipe; and

printing data associated with the second output at a console associated with the method executed by a client process.

18 . The method of claim 17 , wherein the server process is a foreground bound process and the client process is a foreground bound process.

19 . The method of claim 17 , wherein the client process is initiated in non-interactive mode, wherein the client process terminates after printing the data from the second output.

20 . The method of claim 17 , wherein the client process is initiated in interactive mode, wherein the client process continues providing additional input using the first named pipe to the server process and receiving additional output using the second named pipe from the server process using the second named pipe.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Aug 24, 2018
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 046943/0776 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2018
From: DUTTA, RAJIB; TITUS, TONY DEVADASON
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 046686/0004 →