# Start/Kill appium server within java code

**URL:** <https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610>\
**Category:** Support\
**Created:** [November 22, 2014, 8:33pm UTC](https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610 "2014-11-22T20:33:26Z")\
**Posts on this page:** 14\
**Page:** 2

<div class="post-metadata">

**Author:** ![sugumar](https://discuss.appium.io/user_avatar/discuss.appium.io/sugumar/32/8551_2.png) [@sugumar](https://discuss.appium.io/u/sugumar)\
**Post date:** [June 19, 2015, 8:38am UTC](https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610/21 "2015-06-19T08:38:23Z")

</div>

Hi,

I have to start and stop appium server (node) on mac machine using java code from a windows machine

is it possible and if it so can i have the code pls  
Thanks in advance

Sugu

---

<div class="post-metadata">

**Author:** ![AKSahu](https://discuss.appium.io/letter_avatar_proxy/v4/letter/a/bc8723/32.png) [@AKSahu](https://discuss.appium.io/u/AKSahu)\
**Post date:** [October 12, 2015, 1:19pm UTC](https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610/22 "2015-10-12T13:19:45Z")

</div>

Hello All,

Please check the below link from my blog,

> **[Start and Stop Appium Server Programmatically](http://aksahu.blogspot.com/2015/10/start-and-stop-appium-server.html)**
>
> Start or Stop appium server programmatically in Android and iOS

Regards,  
A. K. Sahu

---

<div class="post-metadata">

**Author:** ![vir513](https://discuss.appium.io/letter_avatar_proxy/v4/letter/v/6f9a4e/32.png) [@vir513](https://discuss.appium.io/u/vir513)\
**Post date:** [October 28, 2015, 7:34am UTC](https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610/23 "2015-10-28T07:34:11Z")

</div>

Hi  
I am getting Invalid character error with code 800A03F6. Please help.

---

<div class="post-metadata">

**Author:** ![akishore.planon](https://discuss.appium.io/letter_avatar_proxy/v4/letter/a/f0a364/32.png) [@akishore.planon](https://discuss.appium.io/u/akishore.planon)\
**Post date:** [December 23, 2015, 2:38pm UTC](https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610/24 "2015-12-23T14:38:06Z")

</div>

Hi Priyank\_Shah

I was using this to Start/Stop my Appium Server. It has been working for the past 3 months. But now i upgrade to Appium 1.4.16.1 and this doesn’t start the Appium Server and doesn’t throws any error. Please let me know if I am doing anything wrong.

public class SampleJavaTest {  
private static Process process;  
public static String APPIUM\_NODE\_FILEPATH = “C:/Program Files (x86)/Appium/node.exe”;  
public static String APPIUM\_SERVERSCRIPT\_FILEPATH = “C:/Program Files (x86)/Appium/node\_modules/appium/bin/appium.js”;

public static String APPIUMSERVERSTART = “”" + APPIUM\_NODE\_FILEPATH + “” “” + APPIUM\_SERVERSCRIPT\_FILEPATH + “” ";

public void startServer() throws IOException, InterruptedException  
{  
Runtime runtime = Runtime.getRuntime();  
process = runtime.exec(APPIUMSERVERSTART);  
Thread.sleep(5000);  
if (process != null)  
{  
System.out.println(“Appium server started”);  
}  
}

/\*\*

- DOCUMENT ME!  
\*/  
public void stopServer()  
{  
if (process != null)  
{  
process.destroy();  
}  
System.out.println(“Appium server stop”);  
}

public static void main(String args[]) throws IOException, InterruptedException {  
startAppiumServer();  
stopAppiumServer();  
}

---

<div class="post-metadata">

**Author:** ![rompic](https://discuss.appium.io/letter_avatar_proxy/v4/letter/r/e68b1a/32.png) [@rompic](https://discuss.appium.io/u/rompic)\
**Post date:** [December 31, 2015, 9:51am UTC](https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610/25 "2015-12-31T09:51:59Z")

</div>

I don’t have a solution to your problem but you may want to look into the new version of the java-client which supports starting the server from java and offers, as far as I can see, a very elegant solution.

> <https://github.com/appium/java-client/pull/240>

  

> <https://github.com/appium/java-client/pull/273>

---

<div class="post-metadata">

**Author:** ![AKSahu](https://discuss.appium.io/letter_avatar_proxy/v4/letter/a/bc8723/32.png) [@AKSahu](https://discuss.appium.io/u/AKSahu)\
**Post date:** [January 19, 2016, 5:34am UTC](https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610/26 "2016-01-19T05:34:35Z")

</div>

Hello Friend,

Please try the code that I posted in my post [http://aksahu.blogspot.in/2015/10/start-and-stop-appium-server.html](http://aksahu.blogspot.in/2015/10/start-and-stop-appium-server.html)

Hope it will help you!

Thanks,  
Aswini Kumar

---

<div class="post-metadata">

**Author:** ![VikramVI](https://discuss.appium.io/user_avatar/discuss.appium.io/vikramvi/32/116_2.png) [@VikramVI](https://discuss.appium.io/u/VikramVI)\
**Post date:** [January 27, 2016, 10:08am UTC](https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610/27 "2016-01-27T10:08:39Z")

</div>

Hi All,

I had found couple of github repo which has got really optimized code; showing this plus running test cases on multiple device parallel or distributed way.

> **[AppiumTestDistribution/AppiumTestDistribution](https://github.com/AppiumTestDistribution/AppiumTestDistribution)**
>
> A tool for running android and iOS appium tests in parallel across devices... U like it STAR it ! - AppiumTestDistribution/AppiumTestDistribution

> **[AppiumTestDistribution/PageObjectPatternAppium](https://github.com/AppiumTestDistribution/PageObjectPatternAppium)**
>
> Sample Code base to run tests in Parallel across android and iOS devices. - AppiumTestDistribution/PageObjectPatternAppium

Thanks to saikrishna321 for sharing this knowledge with community.

Regards,  
Vikram

---

<div class="post-metadata">

**Author:** ![anujabhatt1](https://discuss.appium.io/user_avatar/discuss.appium.io/anujabhatt1/32/1734_2.png) [@anujabhatt1](https://discuss.appium.io/u/anujabhatt1)\
**Post date:** [January 31, 2016, 6:28pm UTC](https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610/28 "2016-01-31T18:28:38Z")

</div>

Hi,

I have posted detailed explanation on starting and stopping Appium server with java code which works in windows as well as in Linux.

> **[How to Start Appium Server using Java Code?](http://www.qaautomated.com/2016/01/how-to-start-appium-server-using-java.html)**
>
> A blog post for how to start Appium Server programatically using Java Code.

Regards,  
Anuja

---

<div class="post-metadata">

**Author:** ![CPTester](https://discuss.appium.io/letter_avatar_proxy/v4/letter/c/b5e925/32.png) [@CPTester](https://discuss.appium.io/u/CPTester)\
**Post date:** [February 9, 2016, 2:27pm UTC](https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610/29 "2016-02-09T14:27:13Z")

</div>

Thanks for all the help! I got it working.

---

<div class="post-metadata">

**Author:** ![saikrishna321](https://discuss.appium.io/user_avatar/discuss.appium.io/saikrishna321/32/5170_2.png) [@saikrishna321](https://discuss.appium.io/u/saikrishna321)\
**Post date:** [March 10, 2016, 11:28am UTC](https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610/30 "2016-03-10T11:28:31Z")

</div>

> [@VikramVI](#):
>
> distributed

Thanks, most welcome… hope people are finding it usefull… i’m currently working on extending this to cucumber-jvm where u can run your features in parallel and distributed way …

---

<div class="post-metadata">

**Author:** ![VikramVI](https://discuss.appium.io/user_avatar/discuss.appium.io/vikramvi/32/116_2.png) [@VikramVI](https://discuss.appium.io/u/VikramVI)\
**Post date:** [March 11, 2016, 9:38am UTC](https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610/31 "2016-03-11T09:38:00Z")

</div>

@saikrishna321 You Are AWESOME 👑

I will also like to contribute to your repo in coming weeks.

---

<div class="post-metadata">

**Author:** ![Chirag\_Singh](https://discuss.appium.io/letter_avatar_proxy/v4/letter/c/ed8c4c/32.png) [@Chirag\_Singh](https://discuss.appium.io/u/Chirag_Singh)\
**Post date:** [March 11, 2016, 10:08am UTC](https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610/32 "2016-03-11T10:08:06Z")

</div>

Thanks !!

This is very useful code.

---

<div class="post-metadata">

**Author:** ![saikrishna321](https://discuss.appium.io/user_avatar/discuss.appium.io/saikrishna321/32/5170_2.png) [@saikrishna321](https://discuss.appium.io/u/saikrishna321)\
**Post date:** [March 12, 2016, 8:11am UTC](https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610/33 "2016-03-12T08:11:24Z")

</div>

Thats awesome… looking forward for it 😄

---

<div class="post-metadata">

**Author:** ![aaronbriel](https://discuss.appium.io/user_avatar/discuss.appium.io/aaronbriel/32/1613_2.png) [@aaronbriel](https://discuss.appium.io/u/aaronbriel)\
**Post date:** [May 31, 2017, 11:46am UTC](https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610/34 "2017-05-31T11:46:16Z")

</div>

For anybody reading this who happens to be using npm (node/js/typescript), I’ve created a module called [appium-controller](https://www.npmjs.com/package/appium-controller) that starts and stops appium in the background programmatically… appium logs are stored as well.

[Previous page](https://discuss.appium.io/t/start-kill-appium-server-within-java-code/1610.md?page=1)
