[ad_1]
This answer has been rewritten since the downvote.
I learned from and upvoted @FDS’s answer here, because it is good and correct. But, here’s a form I find easier to read and understand.
So, here is my preferred version:
Explanation:
- The
"$?"
part means “the exit or return code from the previous command”. - The
ps --pid "$pid"
command returns exit code0
if the specified PID ("$pid"
) is running, and some other number if not. - Doing
> /dev/null
discards all output printed tostdout
, since we don’t want to see it. Rather, all we want is the exit code ("$?"
) from theps --pid "$pid"
command to see if that PID is running. More specifically, using> /dev/null
redirectsstdout
output to the/dev/null
pseudofile, whose purpose is to discard all incoming input.
pid=1234
ps --pid "$pid" > /dev/null
if [ "$?" -eq 0 ]; then
echo "PID $pid exists and is running."
fi
Running shellcheck path/to/this_script.sh
tells me I should actually do it the other way (as @FDS shows) to avoid redundancy. See the shellcheck
output here:
eRCaGuy_hello_world/bash$ shellcheck check_if_pid_exists.sh
In check_if_pid_exists.sh line 46:
if [ "$?" -eq 0 ]; then
^--^ SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.
For more information:
https://www.shellcheck.net/wiki/SC2181 -- Check exit code directly with e.g...
Notice especially this part:
SC2181: Check exit code directly with e.g. ‘
if mycmd;
‘, not indirectly with$?
.
See the full description for this error code here: https://github.com/koalaman/shellcheck/wiki/SC2181.
So, shellcheck
recommends this form instead:
pid=1234
if ps --pid "$pid" > /dev/null; then
echo "PID $pid exists and is running."
fi
If you want to adjust to doing it that way, go for it. But, if you’d rather do it my way because you consider my way easier to read and understand, as I do, then you can optionally disable that shellcheck
warning by adding # shellcheck disable=SC2181
above that line, like this:
My final and preferred answer
ps --pid "$pid" >/dev/null
# shellcheck disable=SC2181
if [ "$?" -eq 0 ]; then
echo "PID $pid exists and is running."
else
echo "PID $pid does NOT exist."
fi
The key takeaway here, however, is to never insert any command, not even an echo
or print
statement, between the command being checked (ps
in this case) and checking the error code with "$?"
, or else checking the error code will accidentally check the error code from the latest command, such as the inserted echo
or print
statement, instead of from the command of interest (ps
in our case)!
That’s the main reason shellcheck
recommends what they do: they want to make sure you’re checking the error code of the correct command.
Other than that, it’s just a pedantic opinion-based-discussion-equivalent to the argument in C about how you should check for NULL
(null pointer) values:
// The way preferred by pedantic people who don't want to "be redundant" with
// an "unnecessary" `== NULL` check:
if (!some_ptr)
{
printf("ERROR: null ptr.\n");
return;
}
// Versus the more-readable and understandable way which I prefer to use
// whenever my peers will approve it without a fight or long argument
if (some_ptr == NULL) // in C
// if (some_ptr == nullptr) // in C++
{
printf("ERROR: null ptr.\n");
return;
}
// Note: I just want to get my code merged and move on with life, so if they
// won't easily approve my preferred version above, I'll switch to the other,
// more-pedantic version of code to try to get a quick approval so I can be
// more productive.
// There are few things more discouraging than being blocked over
// silly "pedantry" when your code is correct, bug-free, well-written, and does
// what it says it does.
So, just as which way you choose to check for NULL
values (null ptrs) in C is purely a matter of taste, which way in bash you choose to check for error codes/return codes is also purely a matter of taste. Currently, I prefer the version above I have marked as “My final and preferred answer”.
Anyway, here is a full, runnable program
check_if_pid_exists.sh from my eRCaGuy_hello_world repo:
#!/usr/bin/env bash
pid=1234
if [ "$#" -gt 0 ]; then
# At least 1 argument was passed in, so assume it is the PID
pid="$1"
fi
# Try to print the process (`ps`) information for this PID. Send it to
# /dev/null, however, so we don't actually have to look at it. We just want
# the return code, `$?`, which will be 0 if the process exists and some other
# number if not.
ps --pid "$pid" > /dev/null
# shellcheck disable=SC2181
if [ "$?" -eq 0 ]; then
echo "PID $pid exists and is running."
else
echo "PID $pid does NOT exist."
fi
Sample run calls and output:
eRCaGuy_hello_world/bash$ ./check_if_pid_exists.sh 28876
PID 28876 exists and is running.
eRCaGuy_hello_world/bash$ ./check_if_pid_exists.sh
PID 1234 does NOT exist.
eRCaGuy_hello_world/bash$ ./check_if_pid_exists.sh 5678
PID 5678 does NOT exist.
You can find valid PIDs (Process IDs) to send to my script by first running ps aux
and choosing a PID to pass to it.
[ad_2]
5fd0z4
I wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post…
I like what you guys are up too. Such intelligent work and reporting! Carry on the excellent works guys I have incorporated you guys to my blogroll. I think it’ll improve the value of my website 🙂
My husband and i have been fortunate Chris could conclude his studies via the ideas he got from your web site. It is now and again perplexing just to choose to be giving freely points that many a number of people might have been trying to sell. And we also fully grasp we’ve got the writer to thank for that. The type of illustrations you made, the straightforward website navigation, the friendships your site help to instill – it is most great, and it is facilitating our son in addition to us believe that the subject matter is awesome, which is certainly tremendously serious. Thank you for all!
It’s in reality a nice and useful piece of information. I am happy that you just shared this helpful information with us. Please stay us informed like this. Thank you for sharing.
I’ve read a few good stuff here. Definitely worth bookmarking for revisiting. I wonder how much effort you put to make such a excellent informative web site.
This is very fascinating, You are an overly professional blogger. I’ve joined your feed and look ahead to in the hunt for more of your fantastic post. Additionally, I have shared your site in my social networks!
Very well written post. It will be valuable to anybody who employess it, including yours truly :). Keep doing what you are doing – i will definitely read more posts.
I do love the way you have framed this particular difficulty and it really does present me personally a lot of fodder for consideration. Nevertheless, coming from everything that I have personally seen, I really trust as the actual comments stack on that men and women continue to be on point and don’t get started on a soap box regarding the news du jour. Still, thank you for this exceptional point and though I can not really agree with this in totality, I respect your perspective.
Hi, i think that i saw you visited my web site so i came to “return the favor”.I am attempting to find things to improve my site!I suppose its ok to use some of your ideas!!
Sweet blog! I found it while searching on Yahoo News. Do you have any tips on how to get listed in Yahoo News? I’ve been trying for a while but I never seem to get there! Thanks
Outstanding post, you have pointed out some fantastic points, I also conceive this s a very wonderful website.
Hello.This article was extremely motivating, especially because I was browsing for thoughts on this subject last Monday.
Keep functioning ,great job!
As soon as I observed this web site I went on reddit to share some of the love with them.
Aw, this was a really nice post. In idea I want to put in writing like this additionally – taking time and precise effort to make a very good article… but what can I say… I procrastinate alot and not at all seem to get something done.
very good publish, i actually love this website, keep on it
Fantastic web site. Plenty of helpful information here. I am sending it to some pals ans additionally sharing in delicious. And obviously, thank you in your effort!
Usually I do not read post on blogs, however I wish to say that this write-up very forced me to take a look at and do it! Your writing taste has been surprised me. Thank you, quite nice post.
You are my breathing in, I own few web logs and infrequently run out from post :). “Yet do I fear thy nature It is too full o’ the milk of human kindness.” by William Shakespeare.
I just couldn’t depart your web site prior to suggesting that I really enjoyed the standard info a person provide for your visitors? Is going to be back often in order to check up on new posts
Aw, this was a really nice post. In concept I wish to put in writing like this moreover – taking time and actual effort to make an excellent article… however what can I say… I procrastinate alot and not at all seem to get something done.
Great wordpress blog here.. It’s hard to find quality writing like yours these days. I really appreciate people like you! take care
I got what you intend, thanks for putting up.Woh I am lucky to find this website through google.
naturally like your web-site however you have to take a look at the spelling on several of your posts. Several of them are rife with spelling problems and I in finding it very troublesome to inform the truth on the other hand I will surely come back again.
Youre so cool! I dont suppose Ive read something like this before. So good to find anyone with some original thoughts on this subject. realy thanks for beginning this up. this web site is something that’s wanted on the web, someone with a little bit originality. useful job for bringing something new to the web!
I have been browsing online more than 3 hours today, yet I never found any interesting article like yours. It’s pretty worth enough for me. In my opinion, if all website owners and bloggers made good content as you did, the net will be much more useful than ever before.
You have observed very interesting points! ps decent internet site.
I like this post, enjoyed this one thanks for putting up. “The reward for conformity was that everyone liked you except yourself.” by Rita Mae Brown.
You actually make it seem so easy with your presentation but I find this matter to be really something which I think I would never understand. It seems too complicated and very broad for me. I am looking forward for your next post, I will try to get the hang of it!
Today, I went to the beachfront with my children. I found a sea shell and gave it to my 4 year old daughter and said “You can hear the ocean if you put this to your ear.” She put the shell to her ear and screamed. There was a hermit crab inside and it pinched her ear. She never wants to go back! LoL I know this is totally off topic but I had to tell someone!
Saved as a favorite, I really like your blog!
very good put up, i certainly love this web site, carry on it
We stumbled over here by a different web page and thought I might as well check things out. I like what I see so now i am following you. Look forward to going over your web page again.
very good submit, i certainly love this website, carry on it
of course like your web-site however you need to test the spelling on quite a few of your posts. A number of them are rife with spelling issues and I find it very bothersome to inform the truth then again I’ll certainly come back again.
Loving the info on this site, you have done great job on the posts.
I used to be very pleased to seek out this web-site.I wanted to thanks on your time for this excellent learn!! I positively enjoying each little little bit of it and I have you bookmarked to check out new stuff you blog post.
Great goods from you, man. I’ve understand your stuff previous to and you are just too excellent. I really like what you have acquired here, really like what you are stating and the way in which you say it. You make it enjoyable and you still take care of to keep it smart. I can not wait to read far more from you. This is really a terrific web site.
I like this web blog very much so much excellent info .
There is apparently a bunch to realize about this. I think you made some good points in features also.
I have learn several excellent stuff here. Definitely price bookmarking for revisiting. I surprise how a lot effort you set to make one of these excellent informative web site.
I truly enjoy reading on this web site, it holds excellent articles. “Don’t put too fine a point to your wit for fear it should get blunted.” by Miguel de Cervantes.
Today, I went to the beach front with my kids. I found a sea shell and gave it to my 4 year old daughter and said “You can hear the ocean if you put this to your ear.” She put the shell to her ear and screamed. There was a hermit crab inside and it pinched her ear. She never wants to go back! LoL I know this is entirely off topic but I had to tell someone!
Good day! This is my first visit to your blog! We are a team of volunteers and starting a new project in a community in the same niche. Your blog provided us valuable information to work on. You have done a marvellous job!
Thank you for sharing with us, I believe this website truly stands out : D.
What i don’t understood is actually how you are not actually much more well-liked than you may be now. You are so intelligent. You realize therefore significantly relating to this subject, produced me personally consider it from a lot of varied angles. Its like women and men aren’t fascinated unless it’s one thing to accomplish with Lady gaga! Your own stuffs excellent. Always maintain it up!
Only wanna admit that this is extremely helpful, Thanks for taking your time to write this.
Great – I should definitely pronounce, impressed with your website. I had no trouble navigating through all the tabs as well as related info ended up being truly simple to do to access. I recently found what I hoped for before you know it at all. Quite unusual. Is likely to appreciate it for those who add forums or anything, site theme . a tones way for your client to communicate. Nice task..
Its like you read my mind! You appear to know a lot about this, like you wrote the book in it or something. I think that you could do with a few pics to drive the message home a bit, but other than that, this is great blog. An excellent read. I will certainly be back.
I do agree with all of the ideas you have presented in your post. They’re very convincing and will certainly work. Still, the posts are very short for newbies. Could you please extend them a little from next time? Thanks for the post.
Have you ever considered about including a little bit more than just your articles? I mean, what you say is important and all. However just imagine if you added some great images or video clips to give your posts more, “pop”! Your content is excellent but with images and videos, this blog could certainly be one of the greatest in its niche. Fantastic blog!
Really nice style and great content material, practically nothing else we need : D.
wonderful issues altogether, you simply gained a emblem new reader. What may you suggest in regards to your publish that you just made a few days ago? Any certain?
I couldn’t resist commenting
Real good info can be found on website. “I can think of nothing less pleasurable than a life devoted to pleasure.” by John D. Rockefeller.
I am constantly looking online for articles that can assist me. Thank you!
Fantastic blog you have here but I was wanting to know if you knew of any community forums that cover the same topics discussed in this article? I’d really love to be a part of online community where I can get comments from other experienced people that share the same interest. If you have any recommendations, please let me know. Appreciate it!
Hmm it looks like your blog ate my first comment (it was super long) so I guess I’ll just sum it up what I submitted and say, I’m thoroughly enjoying your blog. I too am an aspiring blog blogger but I’m still new to everything. Do you have any recommendations for first-time blog writers? I’d really appreciate it.
I saw a lot of website but I believe this one has something special in it in it
I wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post…
I’d have to examine with you here. Which is not one thing I usually do! I take pleasure in reading a post that may make folks think. Additionally, thanks for permitting me to comment!
I was wondering if you ever thought of changing the structure of your blog? Its very well written; I love what youve got to say. But maybe you could a little more in the way of content so people could connect with it better. Youve got an awful lot of text for only having 1 or 2 images. Maybe you could space it out better?
After research a couple of of the blog posts in your website now, and I really like your way of blogging. I bookmarked it to my bookmark web site record and will probably be checking back soon. Pls check out my web page as effectively and let me know what you think.
Normally I don’t read article on blogs, however I would like to say that this write-up very compelled me to try and do so! Your writing taste has been amazed me. Thank you, very great post.
Magnificent site. Lots of helpful information here. I am sending it to several friends ans also sharing in delicious. And certainly, thanks for your effort!
I am glad to be a visitant of this staring blog! , appreciate it for this rare information! .
I’ve been surfing on-line more than 3 hours lately, but I never found any attention-grabbing article like yours. It is beautiful price sufficient for me. In my opinion, if all webmasters and bloggers made just right content as you probably did, the net shall be a lot more helpful than ever before.
You actually make it seem so easy along with your presentation but I find this topic to be actually one thing that I feel I would by no means understand. It sort of feels too complex and extremely wide for me. I am taking a look forward for your next submit, I will try to get the grasp of it!
I went over this site and I think you have a lot of great info, saved to my bookmarks (:.
Sweet website , super layout, very clean and utilise genial.
Really Appreciate this update, can you make it so I get an update sent in an email every time you make a new post?
I just couldn’t depart your website prior to suggesting that I actually loved the usual information a person supply to your guests? Is going to be again frequently to check out new posts
The crux of your writing while sounding agreeable at first, did not really work perfectly with me after some time. Someplace within the paragraphs you actually were able to make me a believer unfortunately just for a very short while. I still have a problem with your jumps in assumptions and one would do nicely to help fill in all those breaks. When you can accomplish that, I would definitely end up being fascinated.
This actually answered my downside, thanks!
Wow! Thank you! I always needed to write on my site something like that. Can I implement a part of your post to my blog?
After study a few of the weblog posts in your website now, and I truly like your approach of blogging. I bookmarked it to my bookmark web site record and will be checking again soon. Pls try my website as effectively and let me know what you think.
You got a very excellent website, Glad I detected it through yahoo.
you’ve got an important blog here! would you like to make some invite posts on my weblog?
Awesome blog! Is your theme custom made or did you download it from somewhere? A theme like yours with a few simple adjustements would really make my blog jump out. Please let me know where you got your design. Bless you
Have you ever considered about adding a little bit more than just your articles? I mean, what you say is important and all. Nevertheless just imagine if you added some great photos or videos to give your posts more, “pop”! Your content is excellent but with images and video clips, this site could definitely be one of the very best in its niche. Great blog!
I am always thought about this, thanks for posting.
My brother suggested I might like this website. He was entirely right. This post actually made my day. You cann’t imagine simply how much time I had spent for this info! Thanks!
Great work! This is the type of info that should be shared around the net. Shame on Google for not positioning this post higher! Come on over and visit my web site . Thanks =)
Do you have a spam problem on this website; I also am a blogger, and I was wondering your situation; we have created some nice practices and we are looking to swap solutions with others, please shoot me an email if interested.
You are my inhalation, I possess few web logs and infrequently run out from to post : (.
I have been examinating out a few of your articles and it’s clever stuff. I will make sure to bookmark your blog.
I am not sure where you are getting your information, but great topic. I needs to spend some time learning much more or understanding more. Thanks for wonderful information I was looking for this info for my mission.
I was looking at some of your content on this internet site and I believe this internet site is rattling informative! Keep on putting up.
You are a very intelligent individual!
Hello. fantastic job. I did not anticipate this. This is a impressive story. Thanks!
Hi just wanted to give you a brief heads up and let you know a few of the images aren’t loading correctly. I’m not sure why but I think its a linking issue. I’ve tried it in two different internet browsers and both show the same results.
Hello my friend! I wish to say that this article is amazing, nice written and come with approximately all vital infos. I would like to peer extra posts like this.
Good post. I be taught something tougher on completely different blogs everyday. It will always be stimulating to learn content from other writers and follow just a little something from their store. I’d favor to use some with the content on my blog whether you don’t mind. Natually I’ll provide you with a link in your web blog. Thanks for sharing.
Having read this I thought it was very informative. I appreciate you taking the time and effort to put this article together. I once again find myself spending way to much time both reading and commenting. But so what, it was still worth it!
Really clear website , thanks for this post.
This is really interesting, You’re a very skilled blogger. I have joined your rss feed and look forward to seeking more of your magnificent post. Also, I’ve shared your website in my social networks!
you are truly a good webmaster. The website loading pace is incredible. It kind of feels that you are doing any unique trick. In addition, The contents are masterpiece. you’ve performed a excellent process in this topic!
Thanks a lot for giving everyone an exceptionally breathtaking possiblity to read articles and blog posts from this blog. It is always so cool and as well , full of a lot of fun for me and my office peers to search your web site more than three times in 7 days to find out the fresh things you have got. And of course, I’m also at all times contented concerning the stunning thoughts you serve. Certain 4 ideas in this posting are indeed the most suitable I’ve ever had.
I found your blog site on google and check just a few of your early posts. Continue to maintain up the superb operate. I simply further up your RSS feed to my MSN Information Reader. Searching for ahead to studying extra from you in a while!…
I feel that is one of the most vital info for me. And i’m happy studying your article. However should remark on few general issues, The website taste is wonderful, the articles is actually nice : D. Good process, cheers
Hi, Neat post. There is a problem with your site in web explorer, may check thisK IE nonetheless is the market leader and a large component to other people will pass over your excellent writing because of this problem.
Hey! Would you mind if I share your blog with my facebook group? There’s a lot of people that I think would really enjoy your content. Please let me know. Cheers
I am really impressed with your writing skills and also with the layout on your blog. Is this a paid theme or did you modify it yourself? Anyway keep up the excellent quality writing, it is rare to see a nice blog like this one nowadays..
Excellent read, I just passed this onto a colleague who was doing a little research on that. And he just bought me lunch because I found it for him smile So let me rephrase that: Thanks for lunch! “No one can wear a mask for very long.” by Seneca.
Im no longer sure where you’re getting your info, but great topic. I needs to spend a while finding out much more or working out more. Thanks for wonderful info I used to be in search of this info for my mission.
Hi there, I found your blog via Google while searching for a related topic, your website came up, it looks great. I’ve bookmarked it in my google bookmarks.
Saved as a favorite, I really like your blog!
Very nice post and straight to the point. I am not sure if this is truly the best place to ask but do you guys have any thoughts on where to hire some professional writers? Thanks 🙂
Hello, Neat post. There is an issue with your web site in web explorer, might test this?K IE still is the marketplace leader and a huge component to people will miss your fantastic writing due to this problem.
Your style is so unique compared to many other people. Thank you for publishing when you have the opportunity,Guess I will just make this bookmarked.2
Well I truly liked reading it. This post offered by you is very constructive for accurate planning.
Hey there, You have performed a fantastic job. I will certainly digg it and in my view suggest to my friends. I am sure they will be benefited from this site.
This is a very good tips especially to those new to blogosphere, brief and accurate information… Thanks for sharing this one. A must read article.
Howdy! I’m at work browsing your blog from my new iphone! Just wanted to say I love reading through your blog and look forward to all your posts! Keep up the great work!
I needed to write you one very small word to finally give thanks as before regarding the pleasing secrets you’ve discussed on this page. This has been certainly wonderfully generous with you to make openly all a lot of people would’ve offered for sale as an e-book to generate some profit for themselves, chiefly seeing that you could have tried it if you decided. These ideas in addition acted like the easy way to know that someone else have the same eagerness the same as my personal own to grasp many more regarding this matter. Certainly there are thousands of more pleasant instances up front for folks who view your blog post.
Once I originally commented I clicked the -Notify me when new comments are added- checkbox and now every time a comment is added I get four emails with the same comment. Is there any way you may take away me from that service? Thanks!
The next time I read a blog, I hope that it doesnt disappoint me as much as this one. I mean, I know it was my choice to read, but I actually thought youd have something interesting to say. All I hear is a bunch of whining about something that you could fix if you werent too busy looking for attention.
Attractive portion of content. I simply stumbled upon your weblog and in accession capital to claim that I acquire in fact enjoyed account your blog posts. Anyway I’ll be subscribing for your feeds and even I achievement you access consistently quickly.
obviously like your web site however you need to test the spelling on several of your posts. Many of them are rife with spelling issues and I in finding it very bothersome to inform the truth nevertheless I will surely come back again.
Thanks for the update, can you make it so I receive an email when you publish a fresh post?
Greetings! This is my first visit to your blog! We are a group of volunteers and starting a new initiative in a community in the same niche. Your blog provided us useful information to work on. You have done a marvellous job!
Hey, I think your blog might be having browser compatibility issues. When I look at your website in Safari, it looks fine but when opening in Internet Explorer, it has some overlapping. I just wanted to give you a quick heads up! Other then that, great blog!
I always was interested in this topic and stock still am, regards for posting.
Howdy! I know this is kinda off topic but I’d figured I’d ask. Would you be interested in trading links or maybe guest writing a blog post or vice-versa? My site discusses a lot of the same topics as yours and I feel we could greatly benefit from each other. If you happen to be interested feel free to send me an e-mail. I look forward to hearing from you! Fantastic blog by the way!
Hey There. I found your blog the use of msn. This is a really smartly written article. I will make sure to bookmark it and return to learn more of your useful information. Thank you for the post. I will certainly comeback.
Your style is so unique compared to many other people. Thank you for publishing when you have the opportunity,Guess I will just make this bookmarked.2
Great line up. We will be linking to this great article on our site. Keep up the good writing.
F*ckin’ amazing things here. I am very glad to look your post. Thank you so much and i am having a look ahead to touch you. Will you kindly drop me a e-mail?
I was very pleased to find this web-site.I wanted to thanks for your time for this wonderful read!! I definitely enjoying every little bit of it and I have you bookmarked to check out new stuff you blog post.
Hello, Neat post. There is a problem with your web site in internet explorer, could test this?K IE nonetheless is the marketplace chief and a huge component of other people will miss your magnificent writing because of this problem.
When I initially commented I clicked the -Notify me when new feedback are added- checkbox and now every time a remark is added I get four emails with the same comment. Is there any way you possibly can remove me from that service? Thanks!
With havin so much content and articles do you ever run into any issues of plagorism or copyright violation? My website has a lot of completely unique content I’ve either created myself or outsourced but it seems a lot of it is popping it up all over the internet without my permission. Do you know any solutions to help prevent content from being ripped off? I’d certainly appreciate it.
I have been exploring for a little bit for any high quality articles or blog posts on this kind of area . Exploring in Yahoo I at last stumbled upon this web site. Reading this information So i’m happy to convey that I’ve an incredibly good uncanny feeling I discovered exactly what I needed. I most certainly will make certain to do not forget this site and give it a look on a constant basis.
Appreciating the commitment you put into your website and in depth information you present. It’s great to come across a blog every once in a while that isn’t the same unwanted rehashed material. Fantastic read! I’ve bookmarked your site and I’m including your RSS feeds to my Google account.
Good V I should definitely pronounce, impressed with your website. I had no trouble navigating through all the tabs as well as related info ended up being truly simple to do to access. I recently found what I hoped for before you know it at all. Quite unusual. Is likely to appreciate it for those who add forums or something, web site theme . a tones way for your client to communicate. Nice task..
Very nice info and right to the point. I don’t know if this is truly the best place to ask but do you guys have any thoughts on where to get some professional writers? Thanks in advance 🙂
Great line up. We will be linking to this great article on our site. Keep up the good writing.
I conceive this website holds some rattling superb info for everyone. “There is nothing so disagreeable, that a patient mind cannot find some solace for it.” by Lucius Annaeus Seneca.
I like this website very much, Its a real nice place to read and incur info .
I’m really enjoying the design and layout of your website. It’s a very easy on the eyes which makes it much more enjoyable for me to come here and visit more often. Did you hire out a designer to create your theme? Great work!
I am glad to be one of the visitants on this great website (:, regards for putting up.
I’ll immediately grasp your rss as I can not to find your e-mail subscription hyperlink or newsletter service. Do you’ve any? Kindly let me know so that I may just subscribe. Thanks.
When I originally commented I clicked the -Notify me when new comments are added- checkbox and now each time a comment is added I get four emails with the same comment. Is there any way you can remove me from that service? Thanks!
I truly appreciate this post. I’ve been looking all over for this! Thank goodness I found it on Bing. You have made my day! Thanks again
Wow, superb blog layout! How long have you been blogging for? you made blogging look easy. The overall look of your site is fantastic, as well as the content!
Some really wonderful info , Gladiola I noticed this.
I cherished as much as you will obtain performed right here. The caricature is attractive, your authored material stylish. nevertheless, you command get bought an edginess over that you would like be delivering the following. sick undoubtedly come more previously once more as exactly the same just about very ceaselessly inside of case you protect this increase.
Way cool, some valid points! I appreciate you making this article available, the rest of the site is also high quality. Have a fun.
I’ve been surfing on-line more than 3 hours as of late, but I never found any interesting article like yours. It is beautiful price sufficient for me. In my view, if all webmasters and bloggers made just right content as you did, the internet will likely be much more useful than ever before.
Utterly written content, Really enjoyed reading through.
I really like your writing style, wonderful information, regards for posting : D.
Hi, just required you to know I he added your site to my Google bookmarks due to your layout. But seriously, I believe your internet site has 1 in the freshest theme I??ve came across. It extremely helps make reading your blog significantly easier.
It?¦s actually a nice and useful piece of info. I am glad that you simply shared this useful info with us. Please stay us informed like this. Thank you for sharing.
Very good written information. It will be useful to anybody who employess it, as well as yours truly :). Keep doing what you are doing – i will definitely read more posts.
Hiya very cool website!! Man .. Excellent .. Superb .. I’ll bookmark your website and take the feeds also…I’m satisfied to seek out so many helpful information here within the put up, we’d like develop extra techniques on this regard, thanks for sharing.
I like this blog so much, saved to my bookmarks.
F*ckin’ awesome things here. I’m very glad to see your post. Thanks a lot and i am looking forward to contact you. Will you please drop me a e-mail?
Hello.This post was really fascinating, especially because I was investigating for thoughts on this subject last Sunday.
Wonderful goods from you, man. I’ve understand your stuff previous to and you are just extremely excellent. I really like what you’ve acquired here, really like what you’re saying and the way in which you say it. You make it enjoyable and you still take care of to keep it wise. I can not wait to read much more from you. This is actually a wonderful website.
I’m impressed, I have to say. Actually not often do I encounter a weblog that’s both educative and entertaining, and let me tell you, you could have hit the nail on the head. Your concept is outstanding; the difficulty is something that not enough individuals are talking intelligently about. I’m very completely happy that I stumbled across this in my seek for one thing regarding this.
Great write-up, I am normal visitor of one?¦s site, maintain up the excellent operate, and It’s going to be a regular visitor for a long time.
Great post, you have pointed out some superb points, I too believe this s a very fantastic website.
I like this website very much so much good information.
I enjoy the efforts you have put in this, thank you for all the great posts.
Hello there! Do you use Twitter? I’d like to follow you if that would be okay. I’m definitely enjoying your blog and look forward to new posts.
Thank you for another informative blog. Where else could I get that type of information written in such a perfect way? I’ve a project that I’m just now working on, and I have been on the look out for such info.
The next time I read a blog, I hope that it doesnt disappoint me as much as this one. I mean, I know it was my choice to read, but I actually thought youd have something interesting to say. All I hear is a bunch of whining about something that you could fix if you werent too busy looking for attention.
Appreciate it for all your efforts that you have put in this. very interesting information.
You are my breathing in, I have few web logs and often run out from to brand : (.
I was just looking for this info for a while. After 6 hours of continuous Googleing, at last I got it in your site. I wonder what is the lack of Google strategy that do not rank this kind of informative sites in top of the list. Generally the top web sites are full of garbage.
I like this web site so much, saved to my bookmarks.
F*ckin’ amazing things here. I am very glad to see your post. Thanks a lot and i’m looking forward to contact you. Will you please drop me a e-mail?
Wonderful work! This is the type of info that should be shared around the internet. Shame on Google for not positioning this post higher! Come on over and visit my site . Thanks =)
I’m not sure where you are getting your information, but good topic. I needs to spend some time learning much more or understanding more. Thanks for wonderful information I was looking for this info for my mission.
I’m still learning from you, but I’m making my way to the top as well. I definitely love reading all that is written on your website.Keep the tips coming. I enjoyed it!
Thank you for another great article. Where else could anyone get that kind of information in such an ideal way of writing? I’ve a presentation next week, and I am on the look for such information.
I must show some appreciation to you just for rescuing me from this problem. Because of checking throughout the the web and coming across thoughts which are not beneficial, I figured my entire life was gone. Existing without the answers to the issues you have solved as a result of this posting is a critical case, and ones which might have in a wrong way affected my entire career if I had not noticed your blog. Your understanding and kindness in handling everything was vital. I don’t know what I would’ve done if I had not discovered such a thing like this. I am able to at this time relish my future. Thanks for your time very much for the skilled and sensible help. I will not hesitate to propose the website to anybody who will need guidelines about this topic.
I’m still learning from you, but I’m trying to reach my goals. I definitely liked reading all that is posted on your site.Keep the tips coming. I loved it!
Thanks a lot for providing individuals with an extraordinarily pleasant opportunity to read critical reviews from this site. It is often so pleasurable plus packed with fun for me and my office peers to visit your blog more than thrice every week to read through the latest secrets you will have. Of course, we’re usually astounded with your mind-boggling thoughts served by you. Some 2 facts on this page are undoubtedly the most efficient we’ve had.
When I originally commented I clicked the -Notify me when new comments are added- checkbox and now each time a comment is added I get four emails with the same comment. Is there any way you can remove me from that service? Thanks!
Hey! Would you mind if I share your blog with my zynga group? There’s a lot of folks that I think would really enjoy your content. Please let me know. Many thanks
Thank you, I’ve just been looking for information about this subject for a long time and yours is the greatest I’ve discovered so far. However, what about the conclusion? Are you sure concerning the source?
Sweet blog! I found it while browsing on Yahoo News. Do you have any tips on how to get listed in Yahoo News? I’ve been trying for a while but I never seem to get there! Many thanks
I was looking through some of your blog posts on this website and I think this website is really informative! Keep putting up.
Thank you for every other informative blog. Where else may I get that type of information written in such an ideal means? I have a mission that I am just now operating on, and I have been on the glance out for such info.
You made some first rate factors there. I appeared on the internet for the problem and located most individuals will associate with with your website.
Some genuinely nice and utilitarian information on this site, as well I conceive the pattern contains good features.
You made various nice points there. I did a search on the theme and found nearly all folks will go along with with your blog.
Hi, Neat post. There is an issue along with your site in internet explorer, could check this… IE still is the marketplace leader and a large component of other people will miss your magnificent writing because of this problem.
Enjoyed examining this, very good stuff, thanks. “It requires more courage to suffer than to die.” by Napoleon Bonaparte.
I believe this website has some very fantastic information for everyone. “There is nothing so disagreeable, that a patient mind cannot find some solace for it.” by Lucius Annaeus Seneca.