Skip to content

This is the place of developing the Multi-process manager: A handy application to manage multiple applications and capturing the outputs.

License

Notifications You must be signed in to change notification settings

schuettec/multiprocman

Repository files navigation

Multi-Process Manager

Table of contents

  1. Long story short
  2. Features
  3. Download
  4. Screenshots
  5. Launch configurations
  6. Application
  7. Environment
  8. Counter expressions
  9. Variable substitutions
  10. Git support
  11. Checkout branch
  12. Pull
  13. How to run Gradle builds
  14. Icon in Windows Taskbar

Long story short

The Multi-Process Manager is a Java Swing application that helps managing multiple running applications. It was designed to be used by developers that need to start a lot of processes producing logs like Spring Boot applications, Tomcat-, JBoss- or any other server process.

This application manages launch configurations for you and allows starting multiple applications simultaneously. Any output of the running applications is captured and presented in a neat window providing an overview over the log file so far as well as the log file itself. The view allows to easliy navigate through the running application at any time.

Features

The Multi-Process Manager comes with the following features:

  • a new user interface making things super easy
  • storing all launch configurations per user
  • managing launch configurations within categories
  • starting all applications within category
  • starting all selected applications of a category
  • stop, stop forcibly, restart applications
  • save (or clear) the application output at any time
    • supports plain text
    • supports HTML
    • supports RTF
  • use regular expressions (so called "counter expressions") to count matches while capturing the application output.
    • any number of counter expressions can be added
    • the first 6 counter expressios are shown in the output overview
  • override environment variables in a per-application manner
  • easily find your application in the overview by
    • defining a color for every launch configuration
    • defining a title for every launch configuration

Download

You can download the latest version of this application as an executable JAR file from the Bintray repository.

Screenshots

The launch configuration editor

alt text

The category editor

alt text

The launch configuration editor

alt text

The application manager

alt text

Launch configurations

The launch configuration editor view enables you add all required information to run an application inside the Multi-Process Manager.

Application

alt text

In the tab "application" you can specify an icon for this launch configuration. It is recommended to use 24x24px images for application icons. Images with other dimensions will be scaled.

Title: The title is a short description of this application that is displayed in the overview window.

Command: The command is the full command line to start the application. The command must include the full path to the application/script/batch file (except the binary programs shipped with your OS). Use the "Find..." button to select a

Charset: The charset attribute is used to capture the application output using the correct encoding. For windows command line applications the charset "IBM850" should be used. In most cases (especially Java apps) UTF-8 may be suitable.

Working directory: The working directory is the path to the folder within the application's process will be started. For example the Git executables may be available in C:\Program Files\Git\bin so this will be the path that must be set in the command. But if you want to run Git in your repository folder the working directory must be C:\git\myRepo.

Environment

alt text

The environment tab lets you specify overriding variable values for the environment. Normally the started applications will inherit the environment variables from the running Multi-Process Manager. To specify another value for a variable, add the variable name in the list and specify a new value. This new value will only be visible for this application when started.

The overriding values do not affect other processes on your system.

Counter expressions

alt text

The output of std\out and std\err of any started application is captured by the Multi-Process Manager. While the application's output is appended to the viewer the Multi-Process Manager enables you to count for matches of regular expressions.

In the above tab you can add a counter expression by specifying a name, a Java Regular Expression and a color to easily recover the counter in the view.

The first 6 counter expressions will be displayed in the log file overview. The whole set of counter expressions will be represented by a button in the toolbar. To reset a counter expression click on the corresponding button.

alt text

The above screenshot shows the overview window with an active counter expression watching the output for the string INFO. The overview shows a little circle showing the current number of matches. The button in the toolbar shows the current number of matches as well as the name of this counter expression.

Variable substitutions

When specifying the command for the launch configuration the variable substitution can be used to insert environment variable values before starting executing command:

  • Check "Enable environment variable substitution"
  • Use placeholders in the command string like: ${variablename}
    • The variable name is case-sensitive
    • Use the "Insert variable" button to select from a list of known OS variables
    • Test the variable substitution using the button "Show substitution"
  • Note: The environment variables configured in tab "Environment" do not have an effect on the substitution. The substitution only uses the current environment variables seen by the running Multi-Process Manager instance.

Git support

Git support enables the Multi-Process Manager to easily switch and pull branches before launching a launch configuration. If enabled, the working directory of the launch configuration is interpreted as a Git repository.

To enable Git support use the "Git support" tab in the launch configuration editor. alt text

Checkout branch

If enabled a Git branch selection dialog is displayed showing the current branch options for switching to another branch as well as pulling the latest changes after checkout.

alt text

You can choose to checkout local or remote branches. If a remote branch is selected a new local tracking branch is created and checked out.

Note: Switching branches or pulling is not enabled if Git detects uncommitted changes or a dirty worktree. Then the branch selection window shows a warning sign in the corresponding column of the table and the OK button is disabled. In this case please commit your changes manually an hit the refresh button to refresh the validation.

Pull

You can configure a launch configuration to perform a pull after the branch was checked out. You can do this either in the launch configuration editor (see above) or in the branch selection dialog.

alt text

When performing a pull operation Git tries to connect to the upstream to fetch the latest changes. This may trigger the configured authentication of your Git repository and you will be asked to either enter HTTPS credentials or the passphrase to use your SSH private key for authentication.

How to run Gradle builds

Launching Gradle builds using the Gradle wrapper needs a little more configuration than just calling the Gradle Wrapper Sh-/Batch-Script. The problem is that Gradle the script forks another JVM process. When stopping the task with the Multi-Process Manager only the script process terminates. The Gradle build will be running in background.

Here is how to setup a Gradle Wrapper launch configuration:

  • Set the working directory to the Gradle project folder to work with
  • Use the charset UTF-8
  • Use the following command - customize the parts in <>
    • Command: ${JAVA_HOME}\bin\java.exe -Dorg.gradle.appname=<APP-NAME> -classpath ".\gradle\wrapper\gradle-wrapper.jar" org.gradle.wrapper.GradleWrapperMain <TASK-AND-OTHER-COMMAND-LINE-OPTIONS>.

Icon in Windows Taskbar

This project does not create an install package. Currently the build produces a plain JAR file. Nevertheless it is easy to integrate the Multi Process Manager into your Windows Taskbar.

  1. Create a Windows Link
  2. Set the target to C:\Windows\explorer.exe <PATH_TO_JAR>\multiprocman-x.x.xx-jar-with-dependencies.jar
  3. Extract the App-Icon from the application jar
  4. Setup the Icon and hit ok
  5. Drag&Drop the link to your taskbar
  6. You may remove the link just created

About

This is the place of developing the Multi-process manager: A handy application to manage multiple applications and capturing the outputs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published