Configure Code Insight as a Linux Service
Code Insight 6.14.2 SP2
Perform the following procedure to run Code Insight as a Linux service.
To run Code Insight as a service in Linux, do the following:
1. | Create a file named CodeInsight.service with the following content. |
[Unit]
Description=Tomcat Service CodeInsight.service
After=syslog.target network.target
[Service]
User=<userId>
WorkingDirectory=<codeInsight_install_path>
Type=forking
ExecStart=<codeInsight_install_path>tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
Note the following:
• | The CodeInsight.service file name is case-sensitive when referenced in the file content. |
• | The <userId> value for the User property is the user ID that will run the Code Insight service. This user ID should not run under elevated privileges. |
• | For Ubuntu, this should be the user ID that installed Code Insight (not the root user). |
• | For RedHat and CentOS, this should be a user ID with non-elevated privileges. You can ensure that such a user ID is used by explicitly including the User property in this file and specifying the appropriate ID. As an alternative, especially for cases where the user ID starts with a number, you can omit this property from the .service file and instead specify the ID using the login argument in the ExecStart command, as in the example: |
ExecStart=/usr/bin/su --login <loginUserId> -c <codeInsight_install_path>tomcat/bin/startup.sh
2. | Copy the CodeInsight.service file to the /etc/systemd/system directory: |
$ sudo cp CodeInsight.service /etc/systemd/system
3. | Stop the Tomcat server. See Configuring Code Insight for Single Sign-On (Optional). |
4. | Execute the following command to notify systemd that the Code Insight service has been added: |
$ sudo systemctl daemon-reload
5. | Use the following commands to start, stop, or restart the Code Insight service. (The CodeInsight.service file name is case-sensitive in the commands.) |
$ sudo systemctl start CodeInsight.service
$ sudo systemctl stop CodeInsight.service
$ sudo systemctl restart CodeInsight.service
6. | Execute the following command to enable the starting of Code Insight upon booting. (The CodeInsight.service file name is case-sensitive in this command.) |
systemctl enable CodeInsight.service
From this point on, when you start your system, Code Insight will start up automatically.
Note:The LimitNOFILE value 65536, defined in the CodeInsight.service file in step 1 above, is the open-file limit required by Code Insight. Best practice is to also set this value for individual Code Insight users or groups as a backup should situations arise when Code Insight is not run as a service. See Setting the Open File Limit (Linux/Unix) for details.